ボール取りゲーム

795 ワード

テーマ:
n個のボールn<=1000があって、甲乙の2人は交代で取って、1、3、7、8個しか取れなくて、誰が最後に完全部のボールを取って負けて、甲は先に取って、すべて最も良い策略を取って、甲に勝って勝つことを聞きますか?
必勝と必敗のどちらかを見つければいい.
ボールが1つあれば、必ず負けます.
2つのボールは、必勝状態で、私は1つのボールを持っていくだけで、必敗状態に転化したからです.
3つのボール、必敗状態、私が1つ持って行っても3つ持って行っても必勝状態になったからです.
4球、必勝、1球を取るだけで必敗になるから
...
...
...
#include <iostream>
using namespace std;

int main()
{
	freopen("C:\\in.txt","r",stdin);
	int flag[1001]={0};
	int b[]={1,3,7,8};
	int T;
	scanf("%d",&T);
	while(T--)
	{
		int num;
		scanf("%d",&num);
		for(int i=2;i<=num;i++)
			for(int j=0;j<4&&b[j]<i;j++)
				if(flag[i-b[j]]==0)
				{
					flag[i]=1;
					break;
				}
				printf("%d
",flag[num]); } return 0; }