• 题解 POJ1463 【Strategic game】


    题目链接:Link

    Problem

    Solution

    这题。。。其实就是个很简单的选/不选树形dp,千万别想复杂。。。

    Code

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<vector>
    using namespace std;
    const int maxn=1505;
    const int oo=0x3f3f3f3f;
    int n,u,tot,v,f[maxn][2],vis[maxn][2];
    vector<int> G[maxn];
    int dfs(int u,int flg,int fa)
    {
    	int &res=f[u][flg];
    	if(vis[u][flg]) return res;
    	vis[u][flg]=1;
    	if(flg==1)
    	{
    		res=0;
    		for(int i=0;i<G[u].size();i++) if(G[u][i]!=fa) res+=min(dfs(G[u][i],1,u),dfs(G[u][i],0,u));
    		res++;
    	}
    	else
    	{
    		res=0;
    		for(int i=0;i<G[u].size();i++) if(G[u][i]!=fa) res+=dfs(G[u][i],1,u);
    	}
    	return res;
    }
    int main()
    {
    	#ifdef local
    	freopen("pro.in","r",stdin);
    	#endif
    	while(scanf("%d",&n)==1)
    	{
    		for(int i=0;i<n;i++) G[i].clear();
    		for(int i=0;i<n;i++)
    		{
    			scanf("%d:(%d)",&u,&tot);
    			for(int j=0;j<tot;j++)
    			{
    				scanf("%d",&v);
    				G[u].push_back(v);
    				G[v].push_back(u);
    			}
    		}
    		memset(vis,0,sizeof(vis));
    		printf("%d
    ",min(dfs(0,1,-1),dfs(0,0,-1)));
    	}
    	return 0;
    }
    
  • 相关阅读:
    ubuntu16.04以及各个版本镜像网址汇总
    linux0.11的进程1的创建和执行
    linux0.11的0号进程详解
    Linux命令
    Vim命令
    CentOS7静态IP设置
    Fiddler常用设置
    Python日期计算
    Python完全平方数
    pip
  • 原文地址:https://www.cnblogs.com/happyZYM/p/11530522.html
Copyright © 2020-2023  润新知