| Task: | Anagrams |
| Sender: | phid |
| Submission time: | 2020-09-26 15:08:55 +0300 |
| Language: | C++ (C++11) |
| Status: | COMPILE ERROR |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:21:39: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
sort(v.begin(), v.end(),[] (const auto &a, const auto &b)
^~~~
input/code.cpp:21:54: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
sort(v.begin(), v.end(),[] (const auto &a, const auto &b)
^~~~
input/code.cpp: In lambda function:
input/code.cpp:23:18: error: request for member 'first' in 'a', which is of non-class type 'const int'
return a.first < b.first;
^~~~~
input/code.cpp:23:28: error: request for member 'first' in 'b', which is of non-class type 'const int'
return a.first < b.first;
^~~~~
input/code.cpp: In function 'int main()':
input/code.cpp:30:23: warning: comparison between signed and unsigned...Code
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<pair<string, string>> v; // (sorted, orginal)
string st;
for (int i = 0; i < n; i++) {
cin >> st;
string sttmp = st;
sort(sttmp.begin(), sttmp.end());
v.push_back(pair<string, string>(sttmp, st));
}
sort(v.begin(), v.end(),[] (const auto &a, const auto &b)
{
return a.first < b.first;
});
vector<int> count(v.size() + 1, 0);
n = 0;
for (int i = 0; i < v.size() - 1; i++) {
if (v[i].first == v[i+1].first)
{
if (count[i] == 0)
{
count[i] = 1;
n++;
}
count[i + 1] = count[i] + 1;
}
}
cout << n << endl;
int i = 0, s = 0;
while (i < count.size())
{
if (count[i] != 0) i++;
else
{
cout << count[i - 1] << endl;
for (int j = s; j < i; j++) cout << v[j].second << endl;
while (count[i] == 0 && i < count.size()) i++;
s = i;
}
}
return 0;
}