求大佬解答,为什么用getline输入会wa?
查看原帖
求大佬解答,为什么用getline输入会wa?
631458
zjw1198775229楼主2022/3/22 21:53
#include <bits/stdc++.h>
using namespace std;

int main() {
	string s;
	// 两种输入方式,为什么第一种只有第一个和最后一个测试点ac,其他点都wa
	//getline(cin, s, 'E');
	// 这种输入方式,全ac
	while (1) {
		char t;
		cin >> t;
		if ('W' == t || 'L' == t)
			s += t;
		else if ('E' == t)
			break;
	}
	// 11分制
	int w = 0, l = 0;
	for (int i = 0; i < s.size(); ++i) {
		if ('\n' == s.at(i))
			continue;
		if ('W' == s.at(i)) ++w;
		else ++l;
		if ((w >= 11 || l >= 11) && abs(w - l) >= 2) {
			cout << w << ':' << l << '\n';
			w = l = 0;
		}
	}
	cout << w << ':' << l << '\n';
	// 换行符隔开
	cout << '\n';
	// 21分制
	w = l = 0;
	for (int i = 0; i < s.size(); ++i) {
		if ('\n' == s.at(i))
			continue;
		if ('W' == s.at(i)) ++w;
		else ++l;
		if ((w >= 21 || l >= 21) && abs(w - l) >= 2) {
			cout << w << ':' << l << '\n';
			w = l = 0;
		}
	}
	cout << w << ':' << l << '\n';

	return 0;
}
2022/3/22 21:53
加载中...