https://www.luogu.com.cn/problem/P1042
错因:
1.题目理解不到位,例如11分制下 如果两方很接近 那么判断条件应该是>=11
2.数组很大 所以需要开全局变量 并且需要多开很多才可以(2500*25/11 > 5600)
#include <cstdio>
#include <iostream>
#include <string>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <sstream>
using namespace std;
typedef long long ll;
int a1[6000],b1[6000];
int a2[6000],b2[6000];
int main()
{
char c;
int len1 = 0,len2= 0;
while(cin>>c)
{
if(c=='E') break;
if(c=='W') a1[len1]++,a2[len2]++;
if(c=='L') b1[len1]++,b2[len2]++;
if((a1[len1]>=11||b1[len1]>=11) && abs(a1[len1]-b1[len1])>=2) len1++;
if((a2[len2]>=21||b2[len2]>=21) && abs(a2[len2]-b2[len2])>=2) len2++;
}
for(int i = 0 ; i <= len1 ;i++)
cout <<a1[i]<<':'<<b1[i]<<endl;
cout << endl;
for(int i = 0 ; i <= len2 ;i++)
cout << a2[i]<<':'<<b2[i]<<endl;
return 0;
}