Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 37015 | Accepted: 11837 |
Description
Input
Output
Sample Input
1 ABCD EFGH even ABCI EFJK up ABIJ EFGH even
Sample Output
K is the counterfeit coin and it is light.
#include <stdio.h> #include <string.h> typedef struct{ char str_1[6]; char str_2[6]; char adj[6]; }STR; STR str[3]; void Init() { int i, j; for(i=0; i < 3; i++) { for(j=0; j < 6;j++) { str[i].str_1[j]='\0'; str[i].str_2[j]='\0'; str[i].adj[j]='\0'; } } } void GetData() { int i; for(i = 0; i < 3; i++) { scanf("%s %s %s", str[i].str_1, str[i].str_2, str[i].adj); } } void Adj() { int adjData[3], flag=1; int count_length=0, i, j, k; char data; for(data='A'; data <= 'L'; data++) { flag=1; for(k=0; k < 3 && flag;k++) { if(strcmp(str[k].adj,"even")==0){ for(i=0; i<6; i++) if(str[k].str_1[i]!='\0') if(data==str[k].str_1[i]) { flag=0; break; } if(i==6){ for(j=0; j < 6; j++) if(str[k].str_2[j]!='\0') if(data==str[k].str_2[j]) { flag=0; break; } } }else if(strcmp(str[k].adj,"up")==0){ for(i=0;i < 6; i++) if(str[k].str_1[i]!='\0') if(data==str[k].str_1[i]) { adjData[count_length++]=1; break; } if(i==6){ for(j=0; j < 6; j++) if(str[k].str_2[j]!='\0') if(data==str[k].str_2[j]){ adjData[count_length++]=-1; break; } } if(i==6 && j==6){ flag=0; break; } }else if(strcmp(str[k].adj,"down")==0){ for(i=0;i < 6; i++) if(str[k].str_1[i] != '\0') if(data==str[k].str_1[i]){ adjData[count_length++]=-1; break; } if(i==6){ for(j=0; j < 6; j++) if(str[k].str_2[j] != '\0') if(data==str[k].str_2[j]){ adjData[count_length++]=1; break; } } if(i==6 && j==6){ flag=0; break; } } } if(flag){ if(count_length==1){ printf("%c is the counterfeit coin and it is %s.\n", data, adjData[0]==1?"heavy":"light"); break; }else if(count_length==2 && adjData[0]==adjData[1]){ printf("%c is the counterfeit coin and it is %s.\n", data, adjData[0]==1?"heavy":"light"); break; }else if(count_length==3 && adjData[0]==adjData[1] && adjData[0]==adjData[2]){ printf("%c is the counterfeit coin and it is %s.\n", data, adjData[0]==1?"heavy":"light"); break; } } count_length=0; } } int main() { int n; // freopen("input.txt","r",stdin); scanf("%d\n", &n); while(n > 0) { Init(); GetData(); Adj(); n--; } // fclose(stdin); return 0; }
测试法AC