求助卡常
查看原帖
求助卡常
852144
Loser_Syx楼主2023/6/28 10:56

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 跑不过吗

2023/6/28 10:56
加载中...