题目链接

定义\(f[i][j]\)表示\(a=i,b=j\)时是必胜态还是必败态,博弈DP可以解决\(a,b \leq 100\) 的情况

然后就可以找规律了,发现\(f[i][j]=0\)的情况很少,所以打印出\(f[i][j]=0\)时的\(i\)和\(j\)的表

\((i,j)\)和\((j,i)\)是等价的,所以不妨只考虑\(i<=j\)的情况

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std; const int MAXN=10010; int a,b,f[MAXN][MAXN]; bool dfs(int x,int y){
if(f[x][y]!=-1) return f[x][y];
if(x==0&&y==0) return f[x][y]=0;
f[x][y]=0;
for(int i=0;i<x&&!f[x][y];++i)
if(!dfs(i,y)) f[x][y]=1;
for(int i=0;i<y&&!f[x][y];++i)
if(!dfs(x,i)) f[x][y]=1;
int k=min(x,y);
for(int i=1;i<=k&&!f[x][y];++i)
if(!dfs(x-i,y-i)) f[x][y]=1;
return f[x][y];
} int main()
{
memset(f,-1,sizeof(f));
// scanf("%d%d",&a,&b);
// if(dfs(a,b)) puts("1");
// else puts("0");
for(int i=1;i<=100;++i)
for(int j=i;j<=100;++j)
if(!dfs(i,j))cout<<i<<' '<<j<<endl;
return 0;
}

发现表是这样的

我们发现\(i\)和\(j\)似乎是成正比增长的,不妨输出j/i看看

当\(i,j\)较大时大概稳定在略大于\(6.18\)的位置

于是就有了\(AC\)代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std; int a,b; int main()
{
scanf("%d%d",&a,&b);
if(a>b) swap(a,b);
if(ceil(a*1.618)==b) puts("0");
else puts("1");
return 0;
}

最新文章

  1. matplotlib绘制多组 散点连线图【用于对比】待实现
  2. Objective-C基础数据类型-NSSet[转]
  3. Jquery easy UI 上中下三栏布局 分类: ASP.NET 2015-02-06 09:19 368人阅读 评论(0) 收藏
  4. KindEditor提交用jquery获取不到数据的解决方法
  5. 强连通+二分匹配(hdu4685 Prince and Princess)
  6. 剑指offer-第三章高质量的代码(调整数组顺序使得奇数位于偶数的前面)
  7. js,css 和 html 分离,见仁见智
  8. uva1393 Highways
  9. JavaEE Servlet 核心方法及生命周期
  10. NoClassDefFoundError: org/apache/commons/lang3/StringUtils
  11. Deep Reinforcement Learning for Dialogue Generation 论文阅读
  12. mybatis源码分析(二)------------配置文件的解析
  13. springMVC(五): 通过 HandlerMapping 获取 HandlerExecutionChain
  14. PAT 1023 Have Fun with Numbers[大数乘法][一般]
  15. vue复选框选中值获取
  16. android小游戏模版—重力感应
  17. MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题 收藏 MySQL中涉及的几个字符集
  18. eclipse svn插件
  19. pdb文件及引发的思考
  20. PropertyPlaceholderConfigurer使用及@Value使用注意事项

热门文章

  1. 在开发中进入一个方法后想要到原来那行 ctrl+alt+左 回到上一步 ctrl+alt+右 回到下一步
  2. MongoDB学习笔记(六)
  3. vue简介、入门、模板语法
  4. Prometheus Alertmanager 介绍详解
  5. 补习系列(12)-springboot 与邮件发送【华为云技术分享】
  6. Java 8——保存参数名称
  7. HTML+CSS学习笔记整理二
  8. tf.Session()函数的参数应用(tensorflow中使用tf.ConfigProto()配置Session运行参数&amp;&amp;GPU设备指定)
  9. Linux命令2
  10. Node.js自动本地重启服务器