Task: | Anagrams |
Sender: | suchoale |
Submission time: | 2020-09-26 14:09:01 +0300 |
Language: | Python3 (PyPy3) |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.50 s | details |
#2 | ACCEPTED | 2.39 s | details |
#3 | ACCEPTED | 0.77 s | details |
#4 | ACCEPTED | 2.83 s | details |
#5 | ACCEPTED | 1.12 s | details |
#6 | ACCEPTED | 1.11 s | details |
#7 | ACCEPTED | 0.05 s | details |
#8 | ACCEPTED | 0.05 s | details |
#9 | ACCEPTED | 0.05 s | details |
Code
import sys if __name__ == '__main__': n = int(sys.stdin.readline()) origin_words = list() sorted_words = list() index = list() for i in range(n): word = sys.stdin.readline().strip() origin_words.append(word) sorted_words.append(''.join(sorted(word))) index.append(i) sorted_sorted_words, index = zip(*sorted(zip(sorted_words, index))) anagram_group = dict() for i, word in enumerate(sorted_sorted_words): if word in anagram_group: anagram_group[word].append(origin_words[index[i]]) else: anagram_group[word] = list() anagram_group[word].append(origin_words[index[i]]) total_groups = 0 for values in anagram_group.values(): if len(values) > 1: total_groups += 1 print(total_groups) for values in anagram_group.values(): if len(values) > 1: print(len(values)) for word in values: print(word)
Test details
Test 1
Verdict: ACCEPTED
input |
---|
68760 aakkonen aakkosellinen aakkosellisesti aakkosellisuus ... |
correct output |
---|
3076 2 haaraantua raahaantua 2 ... |
user output |
---|
3076 2 haaraantua raahaantua 2 ... Truncated |
Test 2
Verdict: ACCEPTED
input |
---|
370099 a aa aaa aah ... |
correct output |
---|
30178 2 basiparachromatin marsipobranchiata 2 ... |
user output |
---|
30178 2 basiparachromatin marsipobranchiata 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 |