一个月黑风高阴森恐怖的晚上,富豪杨像往常一样在皇家公共厕所,唱着他最拿手的生日快乐,唱到高音,他穿越到了明朝的紫禁城,转角遇到了朱元璋,两人一见
如故,明太祖想册封他为大公公,但富豪杨只想安安静静的做个ACMBOY,为了说服对方,两人一起进行了一次周易游戏。
拿一段长度不超过1000位的数字,两个人进行一场游戏, 分别从数字中去掉一个数字, 并且去掉之后, 剩下的数字的每一位数相加起来的总和是3的倍数,最后不能取, 或是没有数字了, 那人就输了,另一个便胜利。 富豪杨先手。
第一行是一个整数位T(T<60)是用例数,每个用例有一个整数为N。N最大只有1000位,数字的每一位都不包含0。
对应每个用例,如果是富豪杨赢,显示出"Y"否则"Z"。
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 int main()
5 {
6 int n,t=1;
7 scanf("%d",&n);
8 getchar();
9 while(n--)
10 {
11 char a[1010];
12 int flag[1010],len,m=0,ans=0;
13 gets(a);
14 len=strlen(a);
15 memset(flag,0,sizeof(flag));
16 for(int i=0; i<len; i++)
17 {
18 m+=a[i]-‘0‘;
19 }
20 if(len==1)
21 {
22 printf("Case %d: Y\n",t++);
23 continue;
24 }
25 for(int i=0; i<len; i++)
26 {
27 for(int j=0; j<len; j++)
28 {
29 if(flag[j]==0&&(m-(a[j]-‘0‘))%3==0)
30 {
31 flag[j]=1;
32 m-=(a[j]-‘0‘);
33 ans++;
34 }
35 }
36 }
37 if(ans%2==0)
38 printf("Case %d: Z\n",t++);
39 else
40 printf("Case %d: Y\n",t++);
41 }
42 return 0;
43 }