Yougth's Game II
时间限制:
1000
ms | 内存限制:
65535
KB
难度:
2
-
描述
-
CET4的成绩出来了,Yougth考的很惨,为了调整心情,它决定去找CET4过了的Hrdv同学PK,当然作为一个有涵养的人,不能动不动就动手,于是他想了一个游戏和Hrdv去玩。
游戏是这样,由第三方任意给定k(1<=k<=100)个数字a1,a2,a3...ak,一开始,有x(1<=k<=10^4)枚硬币,Yougth和Hrdv轮流取硬币。每次取的硬币的枚数一定要在a1,a2,a3...ak当中。Yougth先取,还是老规矩,取走最后一枚硬币的一方获胜,而双方都非常聪明,采取最优策略,谁会获胜?
ac代码
#include<stdio.h>
#include<string.h>
int main()
{
int n,k;
while(scanf("%d%d",&n,&k)!=EOF)
{
int i,j,a[100005],num[100005];
for(i=0;i<k;i++)
scanf("%d",&a[i]);
memset(num,0,sizeof(num));
for(i=1;i<=n;i++)
{
for(j=0;j<k;j++)
{
if(i>=a[j])
{
if(num[i-a[j]]==0)
num[i]=1;
}
}
}
if(num[n]==1)
printf("Wa,Yougth is Best!\n");
else
printf("Oh,Sorry!Yougth Lost!\n");
}
}