zoukankan      html  css  js  c++  java
  • 牛客小白月赛2 F题黑黑白白 (博弈或dfs)

    题目链接:https://www.nowcoder.com/acm/contest/86/F

    解题思路:赛后看博客都说是sg函数。emmm,后面看了别人代码dfs也可以,只要找到一条能赢的路就可以。

    dfs部分的代码很简练,学习了。

     1 #include<iostream>
     2 #include<vector>
     3 #include<stdio.h>
     4 #include<algorithm>
     5 #include<string.h>
     6 using namespace std;
     7 vector < int > v[10050];
     8 int vis[10050];
     9 bool dfs(int now){
    10     vis[now]=1;
    11     for(int i=0;i<v[now].size();i++){
    12         int x=v[now][i];
    13         if(!vis[x]){
    14             bool flag=dfs(x);
    15             if(!flag){   
    16                 return true;
    17             }
    18         }
    19     }
    20     return false;
    21 }
    22 int main(){
    23     int T;
    24     cin>>T;
    25     while(T--){
    26         int n,r;
    27         cin>>n>>r;
    28         for(int i=0;i<=n;i++)
    29             v[i].clear();
    30         for(int i=0;i<n-1;i++){
    31             int x,y;
    32             scanf("%d%d",&x,&y);
    33             v[x].push_back(y);
    34             v[y].push_back(x);
    35         }
    36         memset(vis,0,sizeof(vis));
    37         bool flag=dfs(r);
    38         if(flag){
    39             cout<<"Gen"<<endl;
    40         }else{
    41             cout<<"Dui"<<endl;
    42         }
    43     }
    44     return 0;
    45 }
  • 相关阅读:
    【转】jenkins更新主题
    【原】jenkins常用的plugin
    作业:简单的主机批量管理工具
    信号量, 事件,队列
    paramiko模块介绍
    多线程介绍
    作业:开发支持多用户在线FTP程序
    判断操作系统的三种方法
    socketserver
    新博客地址
  • 原文地址:https://www.cnblogs.com/ISGuXing/p/8909310.html
Copyright © 2011-2022 走看看