建议加强数据

P2016 战略游戏

Cappuccino_mjj @ 2024-07-31 11:16:45

#include<bits/stdc++.h>
using namespace std;
//#define int long long
const int N=1e6+10;
const int INF=0x3f3f3f3f;
int n;
int head[N],ne[N],to[N],id;
int dp[N][2];
void add(int x,int y)
{
    to[++id]=y,ne[id]=head[x],head[x]=id;
}
void dfs(int u,int fa)
{
    dp[u][1]=1,dp[u][0]=0;
    for(int i=head[u];i;i=ne[i])
    {
        int v=to[i];
        if(v==fa)return;
        dfs(v,u);
        dp[u][0]+=dp[v][1];
        dp[u][1]+=min(dp[v][0],dp[v][1]);
    }
}
signed main()
{
    cin>>n;
//  memset(dp,INF,sizeof dp);
    for(int i=1,x,y,z;i<=n;i++)
    {
        cin>>x>>y;
//      if(n==6&&x==y&&x==0)
//      {
//          cout<<2;
//          return 0;
//      }
        x++;
        for(int j=1;j<=y;j++)
        {
            cin>>z;
            z++;
            add(x,z);
            add(z,x);
        }
    }
    dfs(1,0);
    cout<<min(dp[1][1],dp[1][0])<<endl;
    return 0;
}

这个代码中,if(v==fa)return;return应改成continue才可以AC。但是只有第一个数据hack了这行代码,其他的数据都过了。

建议加强数据。


by xudongyi1 @ 2024-07-31 11:27:51

@Cappuccino_mjj 其实没过就行?


by Cappuccino_mjj @ 2024-07-31 11:32:10

@xudongyi1 但其他也加强一点比较好吧


by West0319 @ 2024-08-10 15:37:06

AC代码?


|