D - Problem D. Game HDU - 6312

Alice and Bob are playing a game. 
The game is played on a set of positive integers from 1 to n. 
In one step, the player can choose a positive integer from the set, and erase all of its divisors from the set. If a divisor doesn't exist it will be ignored. 
Alice and Bob choose in turn, the one who cannot choose (current set is empty) loses. 
Alice goes first, she wanna know whether she can win. Please judge by outputing 'Yes' or 'No'.

Input

There might be multiple test cases, no more than 10. You need to read till the end of input. 
For each test case, a line containing an integer n. (1n5001≤n≤500) 
Output

A line for each test case, 'Yes' or 'No'. 
Sample Input

1

Sample Output

Yes

简单分析
1)一定会由某一方赢,不存在平局。
2)在第一步不取1的情况下 第一条成立
3)先手可以取1
=>所以对于任意一种情况,
  若先手不取1必输,则先手取1必赢;
  若先手取1必输,则先手不取1必赢;
=>先手必赢
1 #include <bits/stdc++.h>
2 using namespace std;
3 int main(){
4     int t;
5     while(cin>>t)
6         cout<<"Yes"<<endl;
7 }

 

posted @ 2019-07-22 10:24  YukiRinLL  阅读(124)  评论(0编辑  收藏  举报