比赛 2025暑期集训第4场 评测结果 W
题目名称 战略游戏 最终得分 0
用户昵称 Ruyi 运行时间 0.887 s
代码语言 C++ 内存使用 3.97 MiB
提交时间 2025-07-05 11:06:07
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,num,fz1,fz2,f[1501],dp[1501][2],r;
char c;
vector<int> t[1501];
void ff(int x){
    dp[x][0]=0;
    dp[x][1]=1;
    for(int i=0;i<t[x].size();i++){
        int s=t[x][i];
        ff(s);
        dp[x][0]+=dp[s][1];
        dp[x][1]+=min(dp[s][0],dp[s][1]);
    }
    return ;
}
int main(){
    freopen("strategic.in","r",stdin);
    freopen("strategic.out","w",stdout);
    while(cin>>n){
        for(int i=1;i<=n;i++) f[i]=i;
        for(int i=1;i<=n;i++){
            cin>>num>>c>>c>>fz1>>c;
            for(int i=1;i<=fz1;i++){
                cin>>fz2;
                f[fz2]=num;
                t[num].push_back(fz2);
            }
        }
        while(f[r]!=r) r=f[r];
        ff(r);
        cout<<min(dp[r][0],dp[r][1])<<endl;
        memset(dp,0x3f,sizeof(dp));
        memset(f,0,sizeof(f));
        for(int i=1;i<=n;i++) t[i].clear();
    }
}