zoj3882--约数游戏--博弈论(类似chomp!博弈)

Description

有1~n个数字,两个人轮流选择一个数字,并把它和它的约数擦去。擦去最后一个数的人赢,问谁会获胜。

题解:

类似于chomp博弈的巧克力游戏(把约数1当作右上角那块格子)。每个数的约数都有1,先手可以取走1把必败态扔给对方。

所以除了n==0的情况,总有先手必胜。

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 int main()
 5 {
 6     int n;
 7     while(scanf("%d",&n)!=EOF)
 8     {
 9         if(n!=0) 
10         cout<<"win"<<endl;
11         else
12         cout<<"fail"<<endl;
13     }
14     return 0;
15 }
View Code
原文地址:https://www.cnblogs.com/Beckinsale/p/7441104.html