问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include
using namespace std;
#include<math.h>
typedef long long int llt;
llt arr[63000];
llt index = 0;//索引数组的下标
int num1 = 0, num2 = 0;
int f = 0;
llt sum = 0;
//sum用来记录输入了多少个有效字母 ,f来判断是否发生特殊情况
void cal(int number)
{
num1 = 0; num2 = 0;
while (num1 < number && num2 < number)
{
if (index == sum)
break;
if (arr[index] == 'W')
{
num1++; index++;
}
else if (arr[index] == 'L')
{
num2++; index++;
}
}
if (abs(num1 - num2) >= 2)
cout << num1 << ":" << num2 << endl;
else
{
f = 1;
while (!(abs(num1 - num2) >= 2))
{
if (index == sum)
break;
if (arr[index] == 'W')
{
num1++; index++;
}
else if (arr[index] == 'L')
{
num2++; index++;
}
}
}
if (f)
cout << num1 << ":" << num2 << endl;
if (index != sum)cal(number);
}
int main()
{
char a;
for (llt i = 0; cin >> a && a != 'E'; i++)
{
arr[i] = a; sum++;
}
cal(11);
cout << endl;
index = 0, f = 0;
cal(21);
return 0;
}