本文主要是介绍HDU 1564 Play a game 博弈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这道题目是真心没看出来办法,后来看了别人的其实不难
题意:
从一个n*n的角落出发,每次移动到相邻的,而且没有经过的格子上。谁不能操作了谁输。
结论就是n为偶数,先手赢,奇数,后手赢。
S表示起点。
如果n为偶数,那么所有格子可以被2*1的砖块覆盖掉。
这样先手每次都移动到当前1*2的另外一块。先手必赢。
如果n为奇数。出了起始那个店,其余点都可以被覆盖。
所有后手赢
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<math.h>
using namespace std;
int main()
{int n;while(~scanf("%d",&n)&&n){if(n%2==0){printf("8600\n");}elseprintf("ailyanlu\n");}return 0;
}
这篇关于HDU 1564 Play a game 博弈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!