ZYB's Game
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 412 Accepted Submission(s): 340
Problem Description
ZYB
played a game named
NumberBomb
with his classmates in hiking:a host keeps a number in
[1,N]
in mind,then
players guess a number in turns,the player who exactly guesses X loses,or the host will tell all the players that
the number now is bigger or smaller than X .After that,the range players can guess will decrease.The range is [1,N] at first,each player should guess in the legal range.
Now if only two players are play the game,and both of two players know the X ,if two persons all use the best strategy,and the first player guesses first.You are asked to find the number of X that the second player
will win when X is in [1,N] .
players guess a number in turns,the player who exactly guesses X loses,or the host will tell all the players that
the number now is bigger or smaller than X .After that,the range players can guess will decrease.The range is [1,N] at first,each player should guess in the legal range.
Now if only two players are play the game,and both of two players know the X ,if two persons all use the best strategy,and the first player guesses first.You are asked to find the number of X that the second player
will win when X is in [1,N] .
Input
In the first line there is the number of testcases
T
.
For each teatcase:
the first line there is one number N .
1≤T≤100000 , 1≤N≤10000000
For each teatcase:
the first line there is one number N .
1≤T≤100000 , 1≤N≤10000000
Output
For each testcase,print the ans.
Sample Input
1 3
Sample Output
1
Source
出题人:
我们会发现这个模型其实是类比于左右两堆石子,每次可以在一堆里取任意多,
取完的人胜利.当左右两堆石子相同时,我们可以简单的构造后手胜利的方法:
即在另一堆石子中取走同样多的石子,否则,先手可以取一些石子使得两堆石子相同.
所以,当N是奇数输出1,否则输出0.
#include
#include
using namespace std;
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
printf("%d\n",n%2);
}
return 0;
}