rt
#include <bits/stdc++.h>
using namespace std;
inline int max(int x, int y){return x > y ? x : y;}
string name[1010];
int cnt[1010];
map<string, bool> w[1010];
int main(){
ios::sync_with_stdio(0);
cin.tie(nullptr);
cout.tie(nullptr);
int n;
cin >> n;
for(int i = 1; i <= n; ++i){
cin >> name[i];
int len;
cin >> len;
for(int j = 1; j <= len; ++j){
string qwq;
cin >> qwq;
w[i][qwq] = 1;
}
}
int m;
cin >> m;
for(int i = 1; i <= m; ++i){
for(int j = 1; j <= n; ++j) cnt[j] = 0;
int t, mx = 0;
cin >> t;
while(t--){
string _;
cin >> _;
for(int k = 1; k <= n; ++k){
if(w[k].count(_)){
cnt[k]++;
mx = max(mx, cnt[k]);
}
}
}
cout << "Diagnosis #" << i << ":\n";
for(int j = 1; j <= n; ++j){
if(mx == cnt[j]){
cout << name[j] << '\n';
}
}
}
return 0;
}
大概 4e8,spoj 跑不过吗