做宾馆网站好北京网站开发服务商
做宾馆网站好,北京网站开发服务商,建设农产品网络营销网站,注册公司流程步骤每次找到所有叶子节点#xff0c;把它们的父亲染白#xff0c;自己染黑。这个时候染完的叶子节点及其父亲节点对树的其他部分已无影响 ,可以直接删掉。
那么只需要判断树的其他部分是否有先手必胜策略即可。用递归遍历。
边界条件#xff1a;若树为单一节点先手必胜。
代…每次找到所有叶子节点把它们的父亲染白自己染黑。这个时候染完的叶子节点及其父亲节点对树的其他部分已无影响 ,可以直接删掉。
那么只需要判断树的其他部分是否有先手必胜策略即可。用递归遍历。
边界条件若树为单一节点先手必胜。
代码
#includeiostream
#includecstdio
using namespace std;
const int N1e55;
struct Edge{int v,nxt;
}e[N1];
int n,flag[N],cnt,head[N];
void add(int x,int y){e[cnt].vy;e[cnt].nxthead[x];head[x]cnt;
}
bool dfs(int x,int fa){flag[x]1;int tot0;for(int ihead[x];i;ie[i].nxt){int ve[i].v;if(vfa) continue;if(dfs(v,x)) return true;if(flag[v]){tot;flag[x]0;if(tot2)return true;}}return false;
}
int main(){scanf(%d,n);int x,y;for(int i1;in;i){scanf(%d%d,x,y);add(x,y);add(y,x);}printf(dfs(1,0)||flag[1]?First:Second);return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90702.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!