Task: | Anagrams |
Sender: | sfjiang |
Submission time: | 2020-09-26 15:22:30 +0300 |
Language: | C++ (C++11) |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.05 s | details |
#2 | ACCEPTED | 0.25 s | details |
#3 | ACCEPTED | 0.10 s | details |
#4 | ACCEPTED | 0.26 s | details |
#5 | ACCEPTED | 0.25 s | details |
#6 | ACCEPTED | 0.24 s | details |
#7 | ACCEPTED | 0.01 s | details |
#8 | ACCEPTED | 0.00 s | details |
#9 | ACCEPTED | 0.01 s | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:33:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ~~~~~^~~~~~~~~~ input/code.cpp:37:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%s", tmp); ~~~~~^~~~~~~~~~~
Code
#include <cstdio> #include <cstring> #include <algorithm> const int maxn = 400010; struct Data { char ori[40]; char sorted[40]; int len; Data(char* input) { strcpy(ori, input); strcpy(sorted, input); len = strlen(input); std::sort(sorted, sorted + len); } Data() {} }; bool cmpData(const Data& p, const Data& q) { return strcmp(p.sorted, q.sorted) < 0; } Data data[maxn]; int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i++) { char tmp[40]; scanf("%s", tmp); data[i] = Data(tmp); } std::sort(data, data + n, cmpData); int cnt = 0; for (int i = 0; i < n;) { int j = i; for (; j < n && strcmp(data[i].sorted, data[j].sorted) == 0; j++ ); if (j - i > 1) { cnt++; } /*printf("%d\n", j - i); for (int k = i; k < j; k++) { printf("%s\n", data[k].ori); }*/ i = j; } printf("%d\n", cnt); for (int i = 0; i < n;) { int j = i; for (; j < n && strcmp(data[i].sorted, data[j].sorted) == 0; j++ ); if (j - i > 1) { printf("%d\n", j - i); for (int k = i; k < j; k++) { printf("%s\n", data[k].ori); } } i = j; //cnt++; } return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
68760 aakkonen aakkosellinen aakkosellisesti aakkosellisuus ... |
correct output |
---|
3076 2 haaraantua raahaantua 2 ... |
user output |
---|
3076 2 raahaantua haaraantua 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 ihdbalcfjgek eblifdcgjhak dkcflgheiajb ... Truncated |
Test 6
Verdict: ACCEPTED
input |
---|
400000 cbaabghadefb hbbgfaeabdac abaedcbgfbha hcfadbbbeaag ... |
correct output |
---|
1 400000 aaabbbcfegdh aaabbbcfghed aaabbbdcgfhe ... |
user output |
---|
1 400000 gbbaadaechbf hgdafacbaebb bbadhfacabge ... 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 |