#include
#include
char l[3][7],r[3][7],state[3][10];
int check(char c,int n)
{
int i,left,right;
for(i=0;i {
if(strchr((l[i]),c))
left=n;
else
left=0;
if(strchr((r[i]),c))
right=n;
else
right=0;
if((left>right&&state[i][0]!='u')||(left<right&&state[i][0]!='d')||(left==right&&state[i][0]!='e'))
return 0;
}
return 1;
}
int main()
{
int n,i,j;
char c;
scanf("%d",&n);
for(j=0;j<n;j++)
{
for(i=0;i<3;i++)
scanf("%s%s%s",l[i],r[i],state[i]);
for(c='A';c<='L';c++)
{
if(check(c,1))
printf("%c is the counterfeit coin and it is heavy.\n",c);
if(check(c,-1))
printf("%c is the counterfeit coin and it is light.\n",c);
}
}
return 0;
}
第一次将12枚硬币分成2等份去称量,判断是否相等,若相等则代表真假币重量相同,若不等则取重的那盘,再分成2等份去称量,判断是否相等,若相等,则代表假币比真币轻,若不等,则代表假币比真币重.