#include<cstdio> #include<cstring> using namespace std; //简单枚举 char left[3][7];//左边天平的砝码 char right[3][7];//右边天平的砝码 char res[3][7];//右边的情况 bool isFake(char c,bool light) { //light表示轻重,true为轻 char *pleft,*pright; for(int i = 0; i<3; ++i) { if(light) { pleft = left[i]; pright = right[i]; } else //调换指针,简化switch部分的代码,不然又要根据light再写一个函数 { pleft = right[i]; pright = left[i]; } switch(res[i][0]) { case 'u': if(strchr(pright,c)==NULL) return false; break; case 'd': if(strchr(pleft,c)==NULL) return false; break; case 'e': if(strchr(pleft,c)||strchr(pright,c)) return false; break; } } return true; } int main() { int n; scanf("%d",&n); while(n--) { for(int i = 0; i<3; ++i) scanf("%s %s %s",left[i],right[i],res[i]); for(char c = 'A'; c<='L'; ++c) { if(isFake(c,true)) { printf("%c is the counterfeit coin and it is light. \n",c); break; } else if(isFake(c,false)) { printf("%c is the counterfeit coin and it is heavy. \n",c); break; } } } return 0; }