HDU 1850 Being a Good Boy in Spring Festival【Nimゲーム】
2038 ワード
Being a Good Boy in Spring Festival
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4893 Accepted Submission(s): 2929
Problem Description
1年間外国にいる両親はいつも心配している.
春節に家に帰って何日いい子になれるの?
冬休みに次のことをやってみよう
母に付き添って料理場をぶらぶらする
こっそりお父さんにプレゼントを買ってあげます.
積極的に茶碗を洗うように強く要求する
ある日早起きして両親に心を込めて朝食を作ってあげました
もしよろしければ、お父さんとお母さんに言ってもいいです.
游びましょうACM授业に通っていますね~
次は二人の小さなゲームです.机の上にM山のトランプがあります.各スタックの数はそれぞれNi(i=1...M)である.二人は交代で行う.一歩歩くたびに任意に山を選んで、その中の任意のカードを取り出すことができます.テーブルの上のトランプが全部取れば、ゲームは終わります.最後にカードを取った人は勝者だ.
先手が勝つか負けるかを研究したくないので、皆さんに聞きたいだけです.
——「先手の人が勝ちたいなら、第一歩は何種類の選択肢がありますか?」
Input
入力データは複数の試験用例を含み、各試験用例は2行を占め、まず1行に1つの整数M(1
Output
先手の人が勝つことができる場合は、最初のステップで実行可能なシナリオ数を出力してください.そうしないと、0を出力してください.各インスタンスの出力は1行を占めます.
Sample Input
Sample Output
/*
/*
問題:
古典的なNimゲームの問題は、a b cの3つの山があれば、a^b^c=0の時に奇異な情勢を満たし、c=a^bを得る.
*/
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4893 Accepted Submission(s): 2929
Problem Description
1年間外国にいる両親はいつも心配している.
春節に家に帰って何日いい子になれるの?
冬休みに次のことをやってみよう
母に付き添って料理場をぶらぶらする
こっそりお父さんにプレゼントを買ってあげます.
積極的に茶碗を洗うように強く要求する
ある日早起きして両親に心を込めて朝食を作ってあげました
もしよろしければ、お父さんとお母さんに言ってもいいです.
游びましょうACM授业に通っていますね~
次は二人の小さなゲームです.机の上にM山のトランプがあります.各スタックの数はそれぞれNi(i=1...M)である.二人は交代で行う.一歩歩くたびに任意に山を選んで、その中の任意のカードを取り出すことができます.テーブルの上のトランプが全部取れば、ゲームは終わります.最後にカードを取った人は勝者だ.
先手が勝つか負けるかを研究したくないので、皆さんに聞きたいだけです.
——「先手の人が勝ちたいなら、第一歩は何種類の選択肢がありますか?」
Input
入力データは複数の試験用例を含み、各試験用例は2行を占め、まず1行に1つの整数M(1
Output
先手の人が勝つことができる場合は、最初のステップで実行可能なシナリオ数を出力してください.そうしないと、0を出力してください.各インスタンスの出力は1行を占めます.
Sample Input
3
5 7 9
0
Sample Output
1
/*
/*
問題:
古典的なNimゲームの問題は、a b cの3つの山があれば、a^b^c=0の時に奇異な情勢を満たし、c=a^bを得る.
*/
#include<cstdio>
int main()
{
int n,a[1010];
while(scanf("%d",&n)&&n)
{
int s=0;
for(int i=0; i<n; i++)
{
scanf("%d",&a[i]);
s^=a[i];
}
int sum=0;
for(int i=0; i<n; i++)
{
if((s^a[i])<a[i])// a[i] , a[i]
{
sum++;
}
}
printf("%d
",sum);
}
return 0;
}