题意:

n*m的棋盘,一枚硬币右上角,每人每次可将硬币移向三个方向之一(一格单位):左边,下边,左下边。

无法移动硬币的人负。

给出n和m,问,先手胜还是后手胜。

数据范围:

n, m (0<n,m<=2000)

思路:

dp[i][j]=0,说明从(i,j)这个点到时左下角先手败。dp[i][j]=1则先手胜。

然后记忆搜。但是记忆搜会超时。

搜完把整张表打出来,发现规律了,,,,然后,,,代码剩几行了。

代码:

///打表观察

/*
int f[2005][2005]; int go(int n,int m){ //0:必败 1:必胜
if(f[n][m]!=-1) return f[n][m];
int a1 = n-1, b1 = m;
int a2 = n, b2 = m-1;
int a3 = n-1,b3 = m-1; if(a1>=1 && b1>=1 && go(a1,b1)==1) return f[n][m] = 0;
if(a2>=1 && b2>=1 && go(a2,b2)==1) return f[n][m] = 0;
if(a3>=1 && b3>=1 && go(a3,b3)==1) return f[n][m] = 0;
return f[n][m] = 1;
}
*/ int main(){
int n,m; while(scanf("%d%d",&n,&m),n||m){
/*
rep(i,1,n)
rep(j,1,m) f[i][j] = -1; f[1][1] = 0; go(n,m); rep(i,1,n){
rep(j,1,m) printf("%d",f[i][j]); cout<<endl;
}
*/
if(n%2 && m%2)
puts("What a pity!");
else
puts("Wonderful!");
}
}

hdu 2147 kiki's game(DP(SG)打表找规律)的更多相关文章

  1. HDU 5795 A Simple Nim(SG打表找规律)

    SG打表找规律 HDU 5795 题目连接 #include<iostream> #include<cstdio> #include<cmath> #include ...

  2. HDU 2147 kiki's game (简单博弈,找规律)

    kiki's game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 40000/1000 K (Java/Others)Total ...

  3. HDU 3032 Nim or not Nim?(SG打表找规律)

    题意: 给你n堆石子,你每次只能操作一堆石子 1.拿去任意个,最少1个 2.把这一堆分成两堆,没有要求对半分 解析+代码: 1 //解题思路: 2 //对于一个给定的有向无环图,定义关于图的每个顶点的 ...

  4. HDU 3032 (SG打表找规律)

    题意: 有n堆石子,alice先取,每次可以选择拿走一堆石子中的1~x(该堆石子总数) ,也可以选择将这堆石子分成任意的两堆.alice与bob轮流取,取走最后一个石子的人胜利. 思路: 因为数的范围 ...

  5. HDU 5753 Permutation Bo (推导 or 打表找规律)

    Permutation Bo 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5753 Description There are two sequen ...

  6. HDU 5795 A Simple Nim (博弈 打表找规律)

    A Simple Nim 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5795 Description Two players take turns ...

  7. hdu 3032 sg打表找规律 *

    有n堆石子,alice先取,每次可以选择拿走一堆石子中的1~x(该堆石子总数) ,也可以选择将这堆石子分成任意的两堆.alice与bob轮流取,取走最后一个石子的人胜利. 打表代码: #include ...

  8. HDU 3032 Nim or not Nim?(博弈,SG打表找规律)

    Nim or not Nim? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  9. A Simple Nim (SG打表找规律)

    题意:有n堆石子,每次可以将其中一堆分为数量不为0的3堆,或者从其中一堆中拿走若干个,最终拿完的那个人赢. 思路:直接暴力SG状态,然后找出其中的规律,异或一下每一堆的状态就可以了. #include ...

随机推荐

  1. 做一个U盘的学习路线

    最近想研究一个U盘,然后顺便熟悉一下USB协议.因为USB协议比较复杂, 常用的复杂外设除了WiFi,Ethernet,SDIO和USB这些就是USB了,学习USB的时候肯定要拿一个东西下手,所以简单 ...

  2. TP5更新数据成功,但判断结果不符

    thinkphp的CURD中,使用save方法时会出现一个奇怪的问题,即如果数据没有更新(与原数据相同),返回值判断为false.其实很久之前就发现了这个问题,一度以为是官方代码的问题,但是一直拖延到 ...

  3. 如何快速下载ubuntu镜像

    使用国内镜像地址下载: 中科大http://mirrors.ustc.edu.cn/ubuntu-releases/ 阿里云开源镜像站http://mirrors.aliyun.com/ubuntu- ...

  4. mac php安装扩展 如 seoole apcu

    //下载 --安装 --复制扩展文件到对应目录 wget https://pecl.php.net/get/apcu-5.1.7.tgz tar -zvcf pcu-5.1.7.tgz cd 到解压目 ...

  5. javascript 对象池

    * 一个对象池的简单应用 tool tip tootip.html <html> <head> <meta charset="UTF-8"> & ...

  6. 鸿蒙内核源码分析(文件句柄篇) | 深挖应用操作文件的细节 | 百篇博客分析OpenHarmony源码 | v69.01

    百篇博客系列篇.本篇为: v69.xx 鸿蒙内核源码分析(文件句柄篇) | 深挖应用操作文件的细节 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说 ...

  7. 多图详解万星 Restful 框架原理与实现

    rest框架概览 我们先通过 go-zero 自带的命令行工具 goctl 来生成一个 api service,其 main 函数如下: func main() { flag.Parse() var ...

  8. MacOS下Java与JDK关系与相关路径

    MacOS下Java与JDK关系与相关路径 macOS下的Java与JDK的路径曾经困扰过我一段时间,今天稍有些忘记,故记下笔记,整理一下.Java与JDK的关系不在本文笔记之内,Javaer常识. ...

  9. 【.Net vs Java? 】 先来看一下Java和C#的数据类型区别。

    新工作.Net和Java都要做,早期也做过一段Java的项目,但没有系统的深入学习过.一直觉得这两门语言估计是最相近的两门语言了,好多代码可以说直接拷过来都不带报错的,但仔细推敲还是有很多的不同. 1 ...

  10. 详解python三大器——迭代器、生成器、装饰器

    迭代器 聊迭代器前我们要先清楚迭代的概念:通常来讲从一个对象中依次取出数据,这个过程叫做遍历,这个手段称为迭代(重复执行某一段代码块,并将每一次迭代得到的结果作为下一次迭代的初始值). 可迭代对象(i ...