hdu6312 Game
题目链接
http://acm.hdu.edu.cn/showproblem.php?pid=6312
题目大意
你有 N 个数,分别是 1 , 2 , 3 ... N。
有两个人玩游戏,每轮一个人可以从中取一个数,并删除它即它的因子
当其中一人无法再取数时 , 游戏结束 , 无法取数的人输。问先手赢还是后手赢
解题思路
博弈
休闲水题
首先考虑当序列为 [2 , N] 时,先手取这个序列要么胜,要么败(废话)
也就是说这个序列要么是必胜状态,要么是必败状态(还是废话)
那么当 [2 , N] 为必胜状态的时候 , 先手就可以选择这个序列(此时[1]会被[2,N]覆盖)
当[2 , N]为必败状态的时候,先手就可以选择[1]并将这个序列丢给后手
AC_Coder
#include<bits/stdc++.h> using namespace std; int main() { int n ; while(cin >> n) cout << "Yes\n"; return 0; }
凡所不能将我击倒的,都将使我更加强大