求助-全部TLE
查看原帖
求助-全部TLE
315704
望庐山瀑布楼主2021/1/27 15:36
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;

string str;

int w, l, i;

void outEleven() {
	int sum = 0;
	w = 0;
	l = 0;
	i = 0;
	while(str[i] != 'E') {
		if(str[i] == 'W')	w++;
		if(str[i] == 'L')	l++;
		if((w >= 11 && (w-l) >= 2 ) || ( l >= 11 && (l-w) >= 2)) {
			printf("%d:%d\n", w, l);
			sum += w;
			w = 0;
			l = 0;
		}
		i++;
	}
	printf("%d:%d\n", w, l);
}

void outTwentyOne() {
	w = 0;
	l = 0;
	i = 0;
	while(str[i] != 'E') {
		if(str[i] == 'W')	w++;
		if(str[i] == 'L')	l++;
		if((w >= 21 && (w-l) >= 2 ) || ( l >= 1 && (l-w) >= 2)) {
			printf("%d:%d\n", w, l);
			w = 0;
			l = 0;
		}
		i++;
	}
	printf("%d:%d\n", w, l);
}

int main() {
	string temp;
	while(temp[temp.length()-1] != 'E') {
		getline(cin, temp);
		str += temp;
	}
	outEleven();
	cout << endl;
	outTwentyOne();
	return 0;
}

测试点试了几个是正确的,不知道怎么优化代码

2021/1/27 15:36
加载中...