大师 • 4个月前
using namespace std;
void fector(int c, string s); const int num1 = 11; const int num2 = 21;
int main() {
string s, ss;
while (1)
{
cin >> ss;
int i = count(ss.begin(), ss.end(), 'E');
if (i != 0)
{
int j = ss.find('E');
ss.erase(j);
s += ss;
break;
}
s += ss;
if (ss.length() < 20)
{
break;
}
}
/*cout << endl;
for (char a : s)
{
cout << a;
}
cout << endl;*/
// cout << s.size();
fector(num1, s);
cout << endl;
fector(num2, s);
system("echo. & pause");
// cout << s;
return 0;
}
void fector(int rule, string s) {
int x = 0, y = 0; // 当前局的比分
int j = 0; // 当前处理的位置
int length = s.length();
while (j < length && (x < rule && y < rule || abs(x - y) < 2))
{
// 处理一个球的结果
if (s[j] == 'W')
{
x++;
}
else if (s[j] == 'L')
{
y++;
}
j++;
// 判断是否结束这一局
if ((x >= rule || y >= rule) && abs(x - y) >= 2)
{
cout << x << ":" << y << endl; // 输出当前局比分
x = 0;
y = 0;
}
}
for (int i = j; i < length; i++)
{
// 处理一个球的结果
if (s[j] == 'W')
{
x++;
}
else if (s[j] == 'L')
{
y++;
}
}
cout << x << ":" << y << endl; // 输出当前局比分
}
/* void fector(int c, string s) { if (c == 11) {
int x = 0, y = 0;
int j = 0;
for (; j < (s.length() / num1); j++)
{
for (int i = 0; i < num1; i++)
{
if (s[i] == 'W')
{
x++;
}
else if (s[i] == 'L')
{
y++;
}
else if (s[i] == 'E')
{
goto back1;
}
}
cout << x << ":" << y << endl;
x = 0;
y = 0;
}
x = 0;
y = 0;
j = j * num1;
for (; j < s.length(); j++)
{
if (s[j] == 'W')
{
x++;
}
else if (s[j] == 'L')
{
y++;
}
else if (s[j] == 'E')
{
goto back1;
}
}
cout << x << ":" << y << endl;
x = 0;
y = 0;
back1:
return;
} else if (c == 21) {
int x = 0, y = 0;
int j = 0;
for (; j < (s.length() / num2); j++)
{
for (int i = 0; i < num2; i++)
{
if (s[i] == 'W')
{
x++;
}
else if (s[i] == 'L')
{
y++;
}
else if (s[i] == 'E')
{
goto back2;
}
}
cout << x << ":" << y << endl;
x = 0;
y = 0;
}
x = 0;
y = 0;
j = j * num2;
for (; j < s.length(); j++)
{
if (s[j] == 'W')
{
x++;
}
else if (s[j] == 'L')
{
y++;
}
else if (s[j] == 'E')
{
goto back2;
}
}
cout << x << ":" << y << endl;
x = 0;
y = 0;
back2:
return;
} } */
评论:
请先登录,才能进行评论