| Task: | Anagrams |
| Sender: | kkivimaki |
| Submission time: | 2020-09-26 15:32:04 +0300 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.50 s | details |
| #2 | WRONG ANSWER | 2.66 s | details |
| #3 | WRONG ANSWER | 1.43 s | details |
| #4 | WRONG ANSWER | 2.90 s | details |
| #5 | ACCEPTED | 2.96 s | details |
| #6 | ACCEPTED | 2.88 s | details |
| #7 | ACCEPTED | 0.01 s | details |
| #8 | ACCEPTED | 0.01 s | details |
| #9 | ACCEPTED | 0.01 s | details |
Code
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
#define MOD ((unsigned long long)(1) << (unsigned long long)(38))
unsigned long long h(std::string s) {
sort(s.begin(), s.end());
unsigned long long m = 0;
unsigned long long t = 1;
for(unsigned int i = 0; i < s.length(); i++) {
unsigned long long c = s[i];
unsigned long long v = ((c - 97)*t) % MOD;
m = (m + v) % MOD;
t = (t * 256) % MOD;
}
return m;
}
bool comp(string s1, string s2) {
return h(s1) < h(s2);
}
int main() {
int n;
cin >> n;
vector<string> sanat = vector<string>();
for (int i = 0; i < n; i++) {
string s;
cin >> s;
sanat.push_back(s);
}
sort(sanat.begin(), sanat.end(), comp);
unsigned long long v0 = h(sanat[0]);
int m = 0;
int s = 0;
for (int i = 1; i < n; i++) {
unsigned long long v = h(sanat[i]);
if (v != v0) {
v0 = v;
s = 0;
} else {
if (!s) {
s = 1;
m += 1;
}
}
}
cout << m << endl;
v0 = h(sanat[0]);
int f = 1;
for (int i = 1; i < n; i++) {
unsigned long long v = h(sanat[i]);
if (v != v0) {
v0 = v;
if (f > 1) {
cout << f << endl;
for (int j = i - f; j < i; j++)
cout << sanat[j] << endl;
}
f = 1;
} else {
f += 1;
}
}
if (f > 1) {
cout << f << endl;
for (int j = n - f; j < n; j++)
cout << sanat[j] << endl;
}
return 0;
}
Test details
Test 1
Verdict: WRONG ANSWER
| input |
|---|
| 68760 aakkonen aakkosellinen aakkosellisesti aakkosellisuus ... |
| correct output |
|---|
| 3076 2 haaraantua raahaantua 2 ... |
| user output |
|---|
| 3881 660 maailmankartta raakamakkara harjaannuttaa ... Truncated |
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| 370099 a aa aaa aah ... |
| correct output |
|---|
| 30178 2 basiparachromatin marsipobranchiata 2 ... |
| user output |
|---|
| 16282 56 antiparabemata sardanapalian acatastasia ... Truncated |
Test 3
Verdict: WRONG ANSWER
| input |
|---|
| 100000 cnhmuewgnum dxkmhzhetnmxadtcy hfjqwavsiguwpludsketibe xwxolrmvkz ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 6512 131 gxtgoypcaawvccrjpyaeatgxrsybac... Truncated |
Test 4
Verdict: WRONG ANSWER
| input |
|---|
| 400000 vlcsa eltwde wdcwwkubs tmuxbirj ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 45376 11 a aa asnnauaaafpy ... Truncated |
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 |
