对于king:我是套了一个表。

如果起点是P的话,则是后手赢,否则前手赢。

车:也是画图推出来的。

马:也是推出来的,情况如图咯。

对于后:比赛时竟然推错了。QAQ最后看了题解:是个威佐夫博奕。(2,3),(4,6),(5,8)……(ak,ak+k),ak是当前没有出现过的最小正整数。k就是两个坐标的差值,从1,2,3,4……

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. #include <cstring>
  5. using namespace std;
  6. int ty,n,m;
  7. int vis[];
  8. void bo1()
  9. {
  10. if(n%==||m%==)
  11. {
  12. printf("B\n");
  13. }
  14. else
  15. {
  16. printf("G\n");
  17. }
  18. }
  19. void bo2()
  20. {
  21. if(n==m)
  22. {
  23. printf("G\n");
  24. }
  25. else
  26. {
  27. printf("B\n");
  28. }
  29. }
  30. void bo3()
  31. {
  32. if(n%==&&m%==&&n==m)
  33. {
  34. printf("G\n");
  35. }
  36. else if(n%==&&m==n-)
  37. {
  38. printf("B\n");
  39. }
  40. else if(m%==&&n==m-)
  41. {
  42. printf("B\n");
  43. }
  44. else
  45. {
  46. printf("D\n");
  47. }
  48. }
  49. void bo4()
  50. {
  51. memset(vis,,sizeof(vis));
  52. int maxn = max(n,m);
  53. int cnt = ;
  54. int flag = ;
  55. for(int i=;i<=maxn;i++)
  56. {
  57. if(vis[i]) continue; //当前没访问过的最小正整数
  58. int j = i+cnt;
  59. cnt++;
  60. vis[i] = vis[j] = ;
  61. if(i==min(n,m)&&j==max(n,m)) flag = ;
  62. }
  63. if(flag) printf("G\n");
  64. else printf("B\n");
  65. }
  66. int main()
  67. {
  68. int t;
  69. cin>>t;
  70. while(t--)
  71. {
  72. scanf("%d %d %d",&ty,&n,&m);
  73. switch(ty)
  74. {
  75. case :
  76. bo1();
  77. break;
  78. case :
  79. bo2();
  80. break;
  81. case :
  82. bo3();
  83. break;
  84. case :
  85. bo4();
  86. break;
  87. }
  88. }
  89. return ;
  90. }

卷珠帘

hdu 5754 Life Winner Bo 博弈论的更多相关文章

  1. HDU 5754 Life Winner Bo (博弈)

    Life Winner Bo 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5754 Description Bo is a "Life W ...

  2. HDU 5754 Life Winner Bo 组合博弈

    Life Winner Bo Problem Description   Bo is a "Life Winner".He likes playing chessboard gam ...

  3. 【博弈论】HDU 5754 Life Winner Bo

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5754 题目大意: 4种棋子,象棋中的 1王,2车,3马,4后,选其一,B和G轮流走,不能往左上走,一 ...

  4. HDU 5754 Life Winner Bo (找规律and博弈)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5754 给你四种棋子,棋子一开始在(1,1)点,两个人B和G轮流按每种棋子的规则挪动棋子,棋子只能往右下 ...

  5. HDU 5754 Life Winner Bo(各类博弈大杂合)

    http://acm.hdu.edu.cn/showproblem.php?pid=5754 题意: 给一个国际象棋的棋盘,起点为(1,1),终点为(n,m),现在每个棋子只能往右下方走,并且有4种不 ...

  6. HDU 5754 Life Winner Bo (各种博弈) 2016杭电多校联合第三场

    题目:传送门 题意:一个国际象棋棋盘,有四种棋子,从(n,m)走到(1,1),走到(1,1)的人赢,先手赢输出B,后手赢输出G,平局输出D. 题解:先把从(n,m)走到(1,1)看做是从(1,1)走到 ...

  7. HDU 5754 Life Winner Bo

    四种棋子实质上都是一样的思路: 如果某位置的棋子,它下一步可以走到的位置中 能找到有后手胜的位置,那么该位置先手必胜. 如果某位置的棋子,它下一步可以走到的位置中 全是先手胜,那么该位置后手必胜. 其 ...

  8. Life Winner Bo (博弈论)

    kind:维持让对手处于(奇数,奇数)的状态,就能赢. rook:维持让对手处于(A,A)相等的状态,就能赢. knight:画图找规律,没有到达终点的就是平局. queen:威佐夫博弈论,终点不一样 ...

  9. HDU 5754Life Winner Bo

    Life Winner Bo Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

随机推荐

  1. hdu_5029_relief grain(树链剖分)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5029 题意:给你一个树,然后给你两点,将这两点之间的点涂上颜色,问涂色最多的那个颜色是什么,如果数量相 ...

  2. mysql数据库参数innodb_buffer_pool_size和max_connections

    接到报故,查看mysql数据库以下参数 1.innodb_buffer_pool_size 2.max_connections 该参数定义了数据缓冲区buffer pool大小,类似于oracle的d ...

  3. C#之控制台输入和输出

    控制台输出 C# 控制台程序一般使用 .NET Framework Console 类提供的输入/输出服务.Console.WriteLine("Hello World!"); 语 ...

  4. Jquery树控件ZTree异步加载

    异步加载的意思就是: 当点击展开树节点时,才去请求后台action返回点击节点的子节点数据并加载. 这里面主要设计ztree的setting变量的async属性设置: var setting = { ...

  5. 直接拿来用!Facebook移动开源项目大合集

    直接拿来用!Facebook移动开源项目大合集 时间:2014-04-22 15:37 作者:唐小引 随着iOS依赖管理工具CocoaPods和大量第三方开源库成熟起来,业界积累了大量的优秀开源项目. ...

  6. 删除 win8.1中的网络1,网络2,宽带连接1,宽带连接2等网络记录

    新建txt文本,保存如下内容为reg文档: Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\W ...

  7. Objective-C相关Category的收集

    Objective-C相关Category的收集 Categories是给你得不到源码的classes增加功能的一种方法.这个页面收集一些相关的Category,并且持续更新,你可以订阅关注.作者是F ...

  8. robotframework常见问题解决汇总

    1.select window 失效 当关闭弹出框后,回到原页面,或者关闭弹出框后,又弹出新的对话框,导致select window 失效,报错 window not found 在select wi ...

  9. AI 人工智能 探索 (五)

    我们把做好的 角色 拖到 内存池,如图所示,这样我们可以动态生成角色并给予他 寻路目标. //逗留碰撞 void OnTriggerStay(Collider other) { if (other.t ...

  10. Lucene全文搜索 分组,精确查找,模糊查找

    http://zm603380946.iteye.com/blog/1827318 完全个人理解,如有更好的方法,欢迎一起讨论 LuceneUtils.java package com.zbiti.l ...