AOJ 0174
・問題リンク Badminton
・コメント
最初のサーブの取り扱いに気をつければあとはそのまま実装するだけですね。
バドミントンは2点差以上つけてゲームセットなので、入力が終わった段階で得点の多い方に点を追加すれば辻褄を合わすことができます。
・ソース
#include<iostream> #include<string> using namespace std; int main() { string str; while(true){ cin>>str; if(str=="0")break; int a=0,b=0; for(int i=1;str[i]!='\0';i++){ if(str[i]=='A'){ a++; }else{ b++; } } if(a>b){ a++; }else{ b++; } cout<<a<<" "<<b<<endl; for(int j=0;j<2;j++){ int fa=0,fb=0; string fstr; cin>>fstr; for(int i=1;fstr[i]!='\0';i++){ if(fstr[i]=='A'){ fa++; }else{ fb++; } } if(fa>fb){ fa++; }else{ fb++; } cout<<fa<<" "<<fb<<endl; } } return 0; }