模拟乒乓球的题,100行的测试数据啊,我一条条输入进去,结果对下来,和答案一样啊,为什么给我WA和RE?
#include <iostream>
using namespace std;
static string pk_record[1000];
int main() {
int row_count = 0;
while (1) {
getline(cin, pk_record[row_count++]);
int idx = pk_record[row_count - 1].find("E");
if(idx != -1) {
pk_record[row_count - 1] = pk_record[row_count - 1].substr(0,idx);
break;
}
}
while (row_count!=0) {
if(pk_record[row_count - 1].length()==0)
row_count--;
else {
break;
}
}
int Wscore11,Lscore11;
Wscore11 = Lscore11 = 0;
if (row_count==0)
cout << "0:0" << endl;
for (int i = 0; i < row_count; i++) {
for (int j = 0; j < pk_record[i].length(); j++) {
if (pk_record[i][j] == 'W')
Wscore11++;
else {
Lscore11++;
}
if((Wscore11-Lscore11>=2 && Wscore11>=11) || (Lscore11-Wscore11>=2 && Lscore11>=11)) { // 完成一局
cout << Wscore11 << ":" << Lscore11 << endl;
Wscore11 = Lscore11 = 0;
}
if(i==row_count-1 && j==pk_record[i].length()-1) { // 最后未完成的局
cout << Wscore11 << ":" << Lscore11 << endl;
}
}
}
cout << endl;
int Wscore21,Lscore21;
Wscore21 = Lscore21 = 0;
if (row_count==0)
cout << "0:0" << endl;
for (int i = 0; i < row_count; i++) {
for (int j = 0; j < pk_record[i].length(); j++) {
if (pk_record[i][j] == 'W')
Wscore21++;
else {
Lscore21++;
}
if((Wscore21-Lscore21>=2 && Wscore21>=21) || (Lscore21-Wscore21>=2 && Lscore21>=21)) { // 完成一局
cout << Wscore21 << ":" << Lscore21 << endl;
Wscore21 = Lscore21 = 0;
}
if(i==row_count-1 && j==pk_record[i].length()-1) { // 最后未完成的局
cout << Wscore21 << ":" << Lscore21 << endl;
}
}
}
return 0;
}