比赛 2025暑期集训第4场 评测结果 A
题目名称 战略游戏 最终得分 100
用户昵称 小福鑫 运行时间 0.249 s
代码语言 C++ 内存使用 3.95 MiB
提交时间 2025-07-05 10:41:02
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int f1[5001][2],n,l,k,q,v[5001];
char a,b,c;
vector<int>sn[5001];
void dfs(int a){
	v[a]=1;
	f1[a][0]=0;
	f1[a][1]=1;
	for(int i=0;i<sn[a].size();i++){
		if(!v[sn[a][i]]){
			dfs(sn[a][i]);
			f1[a][1]+=min(f1[sn[a][i]][0],f1[sn[a][i]][1]);
			f1[a][0]+=f1[sn[a][i]][1];
		}
	}
}
int main(){
	freopen("strategic.in","r",stdin);
	freopen("strategic.out","w",stdout);
	while(cin>>n){
		for(int i=1;i<=n;i++){
			cin>>q>>a>>b>>l>>c;
			for(int j=1;j<=l;j++){
				cin>>k;
				sn[q].push_back(k);
				sn[k].push_back(q);
			}
		}
		dfs(0);
		cout<<min(f1[0][1],f1[0][0])<<endl;
		for(int i=0;i<n;i++){
			sn[i].clear();
		}
		memset(f1,0,sizeof(f1));
		memset(v,0,sizeof(v));
	}
}