| Task: | Anagrams |
| Sender: | niketin |
| Submission time: | 2020-09-26 13:43:31 +0300 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.12 s | details |
| #2 | ACCEPTED | 0.81 s | details |
| #3 | ACCEPTED | 0.23 s | details |
| #4 | ACCEPTED | 0.76 s | details |
| #5 | ACCEPTED | 0.68 s | details |
| #6 | ACCEPTED | 0.67 s | details |
| #7 | ACCEPTED | 0.01 s | details |
| #8 | ACCEPTED | 0.01 s | details |
| #9 | ACCEPTED | 0.01 s | details |
Code
#include <iostream>
#include <algorithm>
#include <string>
#include <functional>
#include <bits/stdc++.h>
#define N 1000000
using namespace std;
using llu = long long signed;
map<size_t, vector<string>> m;
int main()
{
llu n;
string s;
cin >> n;
for (llu i = 0;i<n;++i){
cin >> s;
string ssorted = s;
sort(ssorted.begin(), ssorted.end());
auto asd = hash<string>{}(ssorted);
if (m.find(asd) == m.end()) {
m[asd] = vector<string>();
}
m[asd].push_back(s);
}
llu asd = 0;
for (auto const& x : m)
{
if (x.second.size() >= 2) {
asd+=1;
}
}
std::cout << asd << endl;
for (auto const& x : m)
{
if (x.second.size() < 2) {
continue;
}
std::cout << x.second.size() << endl;
for (auto const& y : x.second) {
std::cout << y << endl;
}
}
return 0;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 68760 aakkonen aakkosellinen aakkosellisesti aakkosellisuus ... |
| correct output |
|---|
| 3076 2 haaraantua raahaantua 2 ... |
| user output |
|---|
| 3076 3 astia saati saita ... Truncated |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 370099 a aa aaa aah ... |
| correct output |
|---|
| 30178 2 basiparachromatin marsipobranchiata 2 ... |
| user output |
|---|
| 30178 2 orycteropus prosecutory 4 ... 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 |
