这道题有这么难就只有一种方法排除。。。
我开始想了好久
都 WA 了 最后终于AC了。。。。
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
bool even[20];
int time[20];
string k1,k2,k3;
int main()
{
int t,i,j,max;
cin>>t;
while(t--)
{
memset(even,0,sizeof(even));
memset(time,0,sizeof(time));
for(j=0;j<3;j++)
{
cin>>k1>>k2>>k3;
if (k3=="even")
{
for(i=0;i<k1.length();i++)
even[k1[i]-'A']=true;
for(i=0;i<k2.length();i++)
even[k2[i]-'A']=true;
}
if (k3=="up")
{
for(i=0;i<k1.length();i++)
time[k1[i]-'A']++;
for(i=0;i<k2.length();i++)
time[k2[i]-'A']--;
}
if (k3=="down")
{
for(i=0;i<k1.length();i++)
time[k1[i]-'A']--;
for(i=0;i<k2.length();i++)
time[k2[i]-'A']++;
}
}
max=-1;
for(i=0;i<20;i++)
{
if (even[i])
continue;
if (max<=abs(time[i]))
{
max=abs(time[i]);
j=i;
}
}
cout<<char(j+'A');
if (time[j]>0)
cout<<" is the counterfeit coin and it is heavy."<<endl;
else cout<<" is the counterfeit coin and it is light."<<endl;
}
return 0;
}
我hdu 的号叫做阿迪达斯
poj 叫1759432774a
QQ号是1759432774 愿意加我,我们讨论
有兴趣可以看看我