题目链接:传送门

题意:

给定一个图,两个人从起点出发,轮流开飞机。当离开这个点后这个点

就不能使用了。假设轮到谁了谁不能飞了就输了。

必败状态非常好找,当一个人在位置s的时候与这个点相连的没有点能用的

时候则必败。

然后数据非常小。直接暴力搜索就能够AC。

代码例如以下:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <set>
#include <map>
#include <queue>
#define PB push_back
#define MP make_pair
#define REP(i,n) for(int i=0;i<(n);++i)
#define FOR(i,l,h) for(int i=(l);i<=(h);++i)
#define DWN(i,h,l) for(int i=(h);i>=(l);--i)
#define IFOR(i,h,l,v) for(int i=(h);i<=(l);i+=(v))
#define CLR(vis) memset(vis,0,sizeof(vis))
#define MST(vis,pos) memset(vis,pos,sizeof(vis))
#define MAX3(a,b,c) max(a,max(b,c))
#define MAX4(a,b,c,d) max(max(a,b),max(c,d))
#define MIN3(a,b,c) min(a,min(b,c))
#define MIN4(a,b,c,d) min(min(a,b),min(c,d))
#define PI acos(-1.0)
#define INF 1000000000
#define LINF 1000000000000000000LL
#define eps 1e-8
#define LL long long
using namespace std; const int maxn = 1001; int mp[maxn][maxn]; bool vis[maxn];
int ans,n,s; bool dfs(int id){
FOR(i,1,n){
if(mp[id][i]&&!vis[i]){//遍历图的顺序确保了答案最小
vis[id]=1;
if(!dfs(i)){
vis[id]=0;
ans=i;
return true;
}
}
vis[id]=0;
}
return false;
} int main(){
while(~scanf("%d%d",&n,&s)){
CLR(mp);
REP(i,n-1){
int u,v;
scanf("%d%d",&u,&v);
mp[u][v]=1;
mp[v][u]=1;
}
CLR(vis);
if(dfs(s)) printf("First player wins flying to airport %d\n",ans);
else puts("First player loses");
}
return 0;
}

最新文章

  1. SQL Server删除重复行的6个方法
  2. At.js – 用于 Web 应用程序的自动完成库
  3. sdut 487-3279【哈希查找,sscanf ,map】
  4. String.format详解(转)
  5. matlab 给某一列乘上一个系数
  6. 表头表侧边固定,方法二,丫的,复制td
  7. hdu 5091(线段树+扫描线)
  8. Android 点击事件,4种回调。
  9. poj2752 bzoj3670
  10. Oracle删除死锁进程的方法
  11. python+unittest框架整理(一点点学习前辈们的封装思路,一点点成长。。。)
  12. EJB_开发EJB容器模型的WEB服务
  13. 前端vue系列-起始篇 vue的基本认知
  14. 【转载】常用精品API接口汇总
  15. 浅谈 drop、truncate和delete的区别
  16. 洛谷P1462通往奥格瑞玛的道路题解
  17. Apache Spark 2.2中基于成本的优化器(CBO)(转载)
  18. 胜利大逃亡 HDU1429 (bfs)
  19. shiro简单学习的简单总结
  20. redis(Springboot中封装整合redis,java程序如何操作redis的5种基本数据类型)

热门文章

  1. javascript:void(0);什么意思
  2. fcc html5 css 练习1
  3. vim下阅读代码时标签跳转设置
  4. DAMA
  5. (转)Hibernate快速入门
  6. linux设置crontab定时执行脚本备份mysql
  7. perf-perf stat用户层代码分析
  8. 经典的GDB调试命令,包括查看变量,查看内存
  9. 网际协议IP简述
  10. (ccf)201703-3markdown