显示#9,#10和#11是WA
#include<iostream>
#include<vector>
using namespace std;
const int mod_num1 = 9999971;
const int mod_num2 = 9999973;
const int mod_num3 = 9999977;
bool c1[mod_num1];
bool c2[mod_num2];
bool c3[mod_num3];
void insert(string str) {
long long id1 = 0, id2 = 0, id3 = 0;
int l = str.size();
long long base = 1;
for (int i = 0; i < l; i++) {
id1 += base * int(str[i]);
id1 %= mod_num1;
base *= 131;
base %= mod_num1;
}
base = 1;
for (int i = 0; i < l; i++) {
id2 += base * int(str[i]);
id2 %= mod_num2;
base *= 137;
base %= mod_num2;
}
base = 1;
for (int i = 0; i < l; i++) {
id3 += base * int(str[i]);
id3 %= mod_num3;
base *= 149;
base %= mod_num3;
}
c1[id1] = true;
c2[id2] = true;
c3[id3] = true;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
string s;
cin >> s;
insert(s);
}
int sum1 = 0, sum2 = 0, sum3 = 0;
for (int i = 0; i < mod_num1; i++) {
if (c1[i]) {
sum1++;
}
}
for (int i = 0; i < mod_num2; i++) {
if (c2[i]) {
sum2++;
}
}
for (int i = 0; i < mod_num3; i++) {
if (c3[i]) {
sum3++;
}
}
cout << max(sum1, max(sum2, sum3));
return 0;
}
求大佬帮忙调一调