求大佬帮调代码!hash:
#include <bits/stdc++.h>
using namespace std;
const int N = 2e3, M = 6e3, X = N * M, P = 30;
int n, m, l;
#define ull unsigned long long
map <ull, vector <int> > a;
char s[M];
ull hs(char s[M])
{
int len = strlen(s);
ull hs = 0;
for(int i = 0; i < len; i++)
{
hs = hs * P + s[i] - 'a';
}
return hs;
}
int main()
{
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> l;
while(l--)
{
cin >> s;
a[hs(s)].push_back(i);
}
}
cin >> m;
while(m--)
{
cin >> s;
int h = hs(s);
for(int i = 0; i < a[h].size(); i++)
{
printf("%d%c", a[h][i], i == a[h].size() - 1 ? '\n' : ' ');
}
if(a[h].size() == 0)puts("");
}
}