CSES - Datatähti 2020 alku - Results
Submission details
Task:Merkkijonot
Sender:pants64
Submission time:2019-10-01 15:43:03 +0300
Language:C++ (C++17)
Status:COMPILE ERROR

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:40:19: error: no matching function for call to 'std::vector<std::vector<unsigned char> >::resize(int&, int)'
  lines.resize(n, 0);
                   ^
In file included from /usr/include/c++/7/vector:64:0,
                 from input/code.cpp:2:
/usr/include/c++/7/bits/stl_vector.h:689:7: note: candidate: void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type) [with _Tp = std::vector<unsigned char>; _Alloc = std::allocator<std::vector<unsigned char> >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]
       resize(size_type __new_size)
       ^~~~~~
/usr/include/c++/7/bits/stl_vector.h:689:7: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/7/bits/stl_vector.h:709:7: note: candidate: void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = std::vector<unsigned char>; _Alloc = std::allocator<std::vector<unsigned char> >; std::vector<_Tp,...

Code

#include <iostream>
#include <vector>
#include <string>
#include <cstdint>
using std::cout, std::cin, std::vector, std::string;
vector<vector<uint8_t>> lines;
inline vector<uint8_t> Convert(const string& str)
{
vector<uint8_t> line (str.length(), 0);
uint8_t max = 0;
for (unsigned i = 0; i < str.length(); i++)
{
bool found = false;
for (unsigned j = 0; j < i; j++)
{
if (str[j] == str[i])
{
line[i] = line[j];
found = true;
if (max < line[i]) max = line[i];
break;
}
}
if (!found) line[i] = max++;
}
return line;
}
int main()
{
int n;
cin >> n;
lines.resize(n, 0);
for (int i = 0; i < n; i++)
{
string input;
cin >> input;
lines.push_back(Convert(input));
}
uint64_t num = 0;
for (decltype(lines)::iterator i = lines.begin(); i != lines.end(); i++)
{
for (decltype(lines)::iterator j = i + 1; j != lines.end(); j++)
{
if (*i == *j) num++;
}
}
cout << num << "\n";
}