Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 25296 Accepted: 7872

本题因为题意说肯定能够称出来,所以不用担心他是怎么称的,只要对几种情况进行穷举即可

代码:

 

1 #include<stdio.h>
2 #include<string.h>
3  char a[5][10],b[5][10],c[5][10];
4  int islight(char x)
5 {
6 int i;
7 for(i=1;i<=3;i++)
8 {
9 switch(c[i][0])
10 {
11 case 'u':if(strchr(b[i],x)==NULL) return 0;break;
12 case 'e':if(strchr(a[i],x)!=NULL||strchr(b[i],x)!=NULL) return 0;break;
13 case 'd':if(strchr(a[i],x)==NULL) return 0;break;
14 }
15 }
16 return 1;
17 }
18 int isheavy(char x)
19 {
20 int i;
21 for(i=1;i<=3;i++)
22 {
23 switch(c[i][0])
24 {
25 case 'u':if(strchr(a[i],x)==NULL) return 0;break;
26 case 'e':if(strchr(a[i],x)!=NULL||strchr(b[i],x)!=NULL) return 0;break;
27 case 'd':if(strchr(b[i],x)==NULL) return 0;break;
28 }
29 }
30 return 1;
31 }
32 int main()
33 {
34 int n,i;char t;
35 scanf("%d",&n);
36 while(n--)
37 {
38 for(i=1;i<=3;i++)
39 scanf("%s%s%s",a[i],b[i],c[i]);
40 for(t='A';t<='L';t++)
41 {
42 if(islight(t))
43 {
44 printf("%c is the counterfeit coin and it is light.\n",t);
45 break;
46 }
47 if(isheavy(t))
48 {
49 printf("%c is the counterfeit coin and it is heavy.\n",t);
50 break;
51 }
52 }
53 }
54 return 0;
55 }
56
57