P2016 战略游戏
2024年3月29日
code
#include<iostream>
#include<vector>
using namespace std;
const int MAXN=1505;
int n;
vector<int>g[MAXN];
int f[MAXN][2];
void dfs(int x,int father){
f[x][0]=0;f[x][1]=1;
for(int i=0;i<g[x].size();i++){
int to=g[x][i];
if(to==father)continue;
dfs(to,x);
f[x][0]+=f[to][1];
f[x][1]+=min(f[to][0],f[to][1]);
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int m,k,in;
cin>>m>>k;
for(int j=1;j<=k;j++){
cin>>in;
g[m].push_back(in);
g[in].push_back(m);
}
}
dfs(0,-1);
cout<<min(f[0][0],f[0][1]);
return 0;
}

继续阅读
所有文章
©Mooncyan 2024