Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
求高手帮忙!#include<iostream> using namespace std; int main() { int a[13],i,j;//0 1 2 3 未知 轻币 正常 重币 char str1[5],str2[5],str3[5],s1[5]="even",s2[5]="up"; int n; cin>>n; while(n--) { int flag=3; for(i=1;i<=12;i++) a[i]=0; while(flag--) { scanf("%s %s %s",str1,str2,str3); if(str3[0]=='e') //平衡都为正常 { for(i=0;i<4;i++) { //左边 a[str1[i]-'A'+1]=2; //右边 a[str2[i]-'A'+1]=2; } } else if(str3[0]=='u')//右边起来 右边轻了,左边重了 { for(i=0;i<4;i++) { //左边重 if(a[str1[i]-'A'+1]==0) a[str1[i]-'A'+1]=3; if(a[str1[i]-'A'+1]==1)//如果原先为轻的现在又为重的 则是正常的 a[str1[i]-'A'+1]=2; //右边轻 if(a[str2[i]-'A'+1]==0) a[str2[i]-'A'+1]=1; if(a[str2[i]-'A'+1]==3)//如果原先为重的现在又为轻的 则是正常的 a[str2[i]-'A'+1]=2; } } else //右边下沉,右边重了,左边轻了 { for(i=0;i<4;i++) { //左边轻 if(a[str1[i]-'A'+1]==0)//左边轻了 a[str1[i]-'A'+1]=1; if(a[str1[i]-'A'+1]==3)//如果原先为重的现在又为轻的 则是正常的 a[str1[i]-'A'+1]=2; //右边重 if(a[str2[i]-'A'+1]==0)//右边重了 a[str2[i]-'A'+1]=2; if(a[str2[i]-'A'+1]==1)//如果原先为轻的现在又为重的 则是正常的 a[str2[i]-'A'+1]=2; } } } for(i=1;i<=12;i++) { if(a[i]==1) { cout<<(char)('A'+i-1)<<" is the counterfeit coin and it is light."<<endl; break; } if(a[i]==3) { cout<<(char)('A'+i-1)<<" is the counterfeit coin and it is heavy."<<endl; break; } } } } /* Sample Input 1 ABCD EFGH e ABCK GHIL u ABGH HIKL d k heavy 1 ABCD EFGH even ABCI EFJK up ABIJ EFGH even Sample Output K is the counterfeit coin and it is light. */ Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator