Submission details
Task:Anagrams
Sender:m-x-doctor
Submission time:2020-09-26 13:12:54 +0300
Language:Python3 (PyPy3)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.31 sdetails
#2ACCEPTED1.08 sdetails
#3ACCEPTED0.43 sdetails
#4ACCEPTED1.06 sdetails
#5ACCEPTED1.13 sdetails
#6ACCEPTED1.10 sdetails
#7ACCEPTED0.05 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.05 sdetails

Code

from collections import defaultdict

def hash_word(word):
    word = ''.join(sorted(word))
    return hash(word)


def find_anagrams(words):
    groups = defaultdict(list)
    num_groups = 0
    for word in words:
        hashed = hash_word(word)
        groups[hashed].append(word)
        if len(groups[hashed]) == 2:
            num_groups += 1
    print(num_groups)
    for _, group_words in groups.items():
        size = len(group_words)
        if size < 2:
            continue
        print(size)
        for word in group_words:
            print(word)

n = int(input())
words = []
for _ in range(n):
    words.append(input())
find_anagrams(words)

Test details

Test 1

Verdict: ACCEPTED

input
68760
aakkonen
aakkosellinen
aakkosellisesti
aakkosellisuus
...

correct output
3076
2
haaraantua
raahaantua
2
...

user output
3076
2
aakkosellinen
kaaoksellinen
2
...
Truncated

Test 2

Verdict: ACCEPTED

input
370099
a
aa
aaa
aah
...

correct output
30178
2
basiparachromatin
marsipobranchiata
2
...

user output
30178
2
aah
aha
2
...
Truncated

Test 3

Verdict: ACCEPTED

input
100000
cnhmuewgnum
dxkmhzhetnmxadtcy
hfjqwavsiguwpludsketibe
xwxolrmvkz
...

correct output
0

user output
0

Test 4

Verdict: ACCEPTED

input
400000
vlcsa
eltwde
wdcwwkubs
tmuxbirj
...

correct output
0

user output
0

Test 5

Verdict: ACCEPTED

input
400000
ebhfigdacjlk
aecfdijlhkgb
jfekhbidacgl
cehajbidfklg
...

correct output
1
400000
abcdeighjlfk
abcdeiglhfjk
abcdfkilejgh
...

user output
1
400000
ebhfigdacjlk
aecfdijlhkgb
jfekhbidacgl
...
Truncated

Test 6

Verdict: ACCEPTED

input
400000
cbaabghadefb
hbbgfaeabdac
abaedcbgfbha
hcfadbbbeaag
...

correct output
1
400000
aaabbbcfegdh
aaabbbcfghed
aaabbbdcgfhe
...

user output
1
400000
cbaabghadefb
hbbgfaeabdac
abaedcbgfbha
...
Truncated

Test 7

Verdict: ACCEPTED

input
1
a

correct output
0

user output
0

Test 8

Verdict: ACCEPTED

input
2
ab
ba

correct output
1
2
ab
ba

user output
1
2
ab
ba

Test 9

Verdict: ACCEPTED

input
2
aa
ab

correct output
0

user output
0