九度[1150]Counterfeit Dollar
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了九度[1150]Counterfeit Dollar相关的知识,希望对你有一定的参考价值。
# include<iostream> # include<string> # include<cstdio> using namespace std; struct node{ string a; string b; }s[3]; int main() { string a[3]; int n=0; bool heavy; char c; //freopen("in.txt","r",stdin); cin>>n; while(n--) { for(int i=0;i<3;i++) { cin>>s[i].a>>s[i].b>>a[i]; } bool isFind=false; for(int i=0;i<12;i++) { c=‘A‘+i; heavy=true; for(int j=0;j<3;j++) { if((s[j].a.find(c)!=-1) || s[j].b.find(c)!=-1) //在里面 { if(a[j]=="even") { isFind=false; break; } if(a[j]=="up") { if(s[j].a.find(c)>=0) { isFind=true; heavy=true; continue; } else { isFind=true; heavy=false; continue; } } else { if(s[j].a.find(c)>=0) { isFind=true; heavy=false; continue; } else { isFind=true; heavy=true; continue; } } } else if((s[j].a.find(c)==-1) || s[j].b.find(c)==-1) //不在里面 { if(a[j]!="even") { isFind=false; break; } } } if(isFind ) break; } cout<<c<<" is the counterfeit coin and it is "; if(heavy) cout<<"heavy."<<endl; else cout<<"light."<<endl; } //system("pause"); return 0; }
要注意的地方就是s[i].a.find(c)>=0 是不对的 可以先赋值再比较 也可以改成!=-1 切记切记 或者用string::npos
以上是关于九度[1150]Counterfeit Dollar的主要内容,如果未能解决你的问题,请参考以下文章
Java-POJ1013-Counterfeit Dollar