题目本身并不难,主要是考虑许多种情况。
思路:若华华或者对手首先到达了11或21,那么就判断是否分差大于2,大于2就输出,不大于2就继续往下做。最后输出剩余的分数,不多说,直接看代码。
#include <bits/stdc++.h>
using namespace std;
int a[2];
char c;
string s;
int main(){
while(cin >> c && c != 'E'){
s+=c;
}
for(int i = 0; i < s.size();i++){
if(s[i] == 'W') a[0] ++;
if(s[i] == 'L') a[1] ++;
if((a[0] == 11 && a[0] - a[1]>=2) || (a[1] == 11 && a[1] - a[0]>=2)){
cout << a[0] << ":" << a[1] << endl;
a[0] = a[1] = 0;
}
else if((a[0]>11 && a[0] - a[1]>=2) ||(a[1] > 11 && a[1]-a[0]>=2)){
cout << a[0] << ":" << a[1] << endl;
a[0] = a[1] = 0;
}
}
cout << a[0] << ":" <<a[1] << endl;
cout << endl;
memset(a,0,sizeof a);
for(int i = 0; i < s.size();i++){
if(s[i] == 'W') a[0] ++;
if(s[i] == 'L') a[1] ++;
if((a[0] == 21 && a[0] - a[1]>=2) || (a[1] == 21 && a[1] - a[0]>=2)){
cout << a[0] << ":" << a[1] << endl;
a[0] = a[1] = 0;
}
else if((a[0]>21 && a[0] - a[1]>=2) ||(a[1] > 21 && a[1]-a[0]>=2)){
cout << a[0] << ":" << a[1] << endl;
a[0] = a[1] = 0;
}
}
cout << a[0] << ":" << a[1] << endl;
return 0;
}