标签:des style color os io for ar cti
1 ABCD EFGH even ABCI EFJK up ABIJ EFGH even
K is the counterfeit coin and it is light.
题目大意:有一打(12枚)硬币,其中有且仅有1枚假币,11枚真币用A~L作为各个硬币的代号
假币可能比真币略轻,也可能略重 现在利用天枰,根据Input输入的3次称量,找出假币,并输出假币是轻还是重。
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
string a,b,c;
int m[20];
int v[20];
int abs(int x)
{
return x<0?-x:x;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(m,0,sizeof(m));
memset(v,0,sizeof(v));
for(int i=0;i<3;i++)
{
cin>>a>>b>>c;
if(c=="even")
{
for(int j=0;a[j];j++)
m[a[j]-'A']=1;
for(int j=0;b[j];j++)
m[b[j]-'A']=1;
}
if(c=="up")
{
for(int j=0;a[j];j++)
v[a[j]-'A']++;
for(int j=0;b[j];j++)
v[b[j]-'A']--;
}
if(c=="down")
{
for(int j=0;a[j];j++)
v[a[j]-'A']--;
for(int j=0;b[j];j++)
v[b[j]-'A']++;
}
}
// for(int i=0;i<12;i++)
// cout<<char(char(i)+'A')<<" ";
// // cout<<endl;
// for(int i=0;i<12;i++)
// cout<<v[i]<<" ";
// cout<<endl;
int k=-1,ans=0,flag=0;
for(int i=0;i<12;i++)
{
if(m[i])continue;
if(k<abs(v[i]))
{
k=abs(v[i]);
ans=i;
flag=v[i];
}
}
printf("%c is the counterfeit coin and it is %s.\n",ans+'A',flag>0?"heavy":"light");
}
return 0;
}
Counterfeit Dollar,布布扣,bubuko.com
标签:des style color os io for ar cti
原文地址:http://blog.csdn.net/zhangweiacm/article/details/38587545