好久不写博客了 最近在佳木斯培训 蒟蒻QAQ

今天来揭露一下这个虚伪的世界

【问题描述】
Two players, Stan and Ollie, play, starting with two natural numbers. Stan, the first player, subtracts any positive multiple of the lesser of the two numbers from the greater of the two numbers, provided that the resulting number must be nonnegative. Then Ollie, the second player, does the same with the two resulting numbers, then Stan, etc., alternately, until one player is able to subtract a multiple of the lesser number from the greater to reach 0, and thereby wins. For example, the players may start with (25,7): an Stan wins.
给定a,b;每次用大的数减去小的数的任意倍,保证结果是自然数,已知Stan先手,求在最优策略下,先手胜负情况。

【问题分析】

bool dfs(int a,int b)
{if (a==0||b==0)return false;if (a<b)swap(a,b);for (int i=1;i*b<a;i++)if (!dfs(a-i*b,b))return true;return false;
}

第一反应 但是发现RE了 这时候老师告诉我需要一些

奇淫巧技

然后我的AC代码是这样的

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int a,b;
bool dfs(int a,int b)
{if (a==0||b==0)return false;if (a<b)swap(a,b);for (int i=a/b;i>0;i--)if (!dfs(a-i*b,b))return true;return false;
}
int main()
{while(1){scanf("%d%d",&a,&b);if (a==0&&b==0)break;if (dfs(a,b))printf("Stan wins\n");elseprintf("Ollie wins\n");}return 0;
}

这个虚伪的世界 再见!

妈的一个暴搜题QAQ

正解QAQ
如果先手必胜 那么满足条件 a%b==0
所以如果 状态为 a%b,b 那么先手必胜
那么想办法将状态转移到这里 即讨论[a/b]的取值情况
不断的将(a,b)转移到(a%b,b)即可。

【博弈论】POJ[2348]Euclid's Game相关推荐

  1. POJ 2348 Euclid's Game(博弈)题解

    题意:有a,b两个数字,两人轮流操作,每次可以选择两个之中较小的数字,然后另一个数字减去选择数字的任意倍数(不能减到负数),直到其中一个为0,不能操作为败 思路:这题用博弈NP思想,必败点和必胜点之间 ...

  2. POJ - 2348 Euclid's Game(博弈)

    题目链接:点击查看 题目大意:给出初始的两个数字,每一次操作都要在规则下进行:令较大的数减去任意倍较小的数,必须保证不能出现负数,先减到零者获胜,问谁能获胜 题目分析:这个题目说是博弈我感觉更像是找规 ...

  3. (转载)--SG函数和SG定理【详解】

    在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败. N点:必胜点,处于此情况下,双方操作均正 ...

  4. 组合博弈游戏 - SG函数和SG定理

    转载来自:http://blog.csdn.net/luomingjun12315/article/details/45555495 在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜 ...

  5. 组合游戏 - SG函数和SG定理

    在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败. N点:必胜点,处于此情况下,双方操作均正 ...

  6. SG函数和SG定理【详解】

    在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败. N点:必胜点,处于此情况下,双方操作均正 ...

  7. linux里面搭建php环境,Linux下搭建PHP环境

    该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件外,还要安装一些相关工具,设置必要参数.而且,如果要使用PHP扩展库,还要进行编译 ...

  8. (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目

    POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: ...

  9. POJ前面的题目算法思路【转】

    1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...

最新文章

  1. Self Ogannizing Maps(SOM)自组织映射
  2. BTree,B-Tree,B+Tree,B*Tree
  3. IDEA运行最简单的Java程序Hello World
  4. 错误内存【读书笔记】C程序中常见的内存操作有关的典型编程错误
  5. 3d目标检测_CVPR 2020 |基用于3D目标检测的层级图网络
  6. javascript在第三个文本框中显示文字_一段中的个别文字,显示在目录中
  7. 南京理工大学计算机学院教师信息网,南京理工大学教师信息
  8. 计蒜客挑战难题:元素移除
  9. map函数python返回值,Python中map函数使用
  10. 网络编程之 创建多个子进程,避免踩坑。
  11. Bailian3244 跳水比赛【水题】
  12. [bzoj4516] [SDOI2016]生成魔咒
  13. Ubuntu18.04安装Oracle11g
  14. 设置maven的本地位置和maven镜像
  15. SharePoint 模拟审批Nintex工作流
  16. 解决vmware16安装win7时安装不了vmtools
  17. 路由器的两个端口接在同一个交换机上_交换机到底有什么用啊?
  18. 国科大学习资料--人工智能原理与算法-2021年期末考试题解析(学长整理)
  19. [Linux]关于SIGCHLD
  20. [C++]<numeric>头文件介绍

热门文章

  1. 计算机二级word插入图表,四步教你在excel柱形图上添加折线图
  2. Keras深度学习实战(35)——构建机器翻译模型
  3. 一款最好用的windows文件管理器
  4. java 查看对象内存占用大小
  5. 飞秒激光脉冲的产生过程
  6. C语言语音朗读小工具
  7. JTAG,PLL ,ICE
  8. C++关于string类的模拟实现
  9. 大脑神经网络图高清,图神经网络 图像
  10. ZYNQ - 嵌入式Linux开发 -06- petalinux设计流程