比赛 |
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));
}
}