找一个错误的样例,悬一关
查看原帖
找一个错误的样例,悬一关
637788
kimi0705楼主2023/5/10 21:17

麻烦各位巨佬,帮我找一个错误的样例QWQ

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5 + 10;
int t, n, C1, C2;
bool Ans1[N];
bool Ans2[N];
char ch;
void Work() {
	C1 = C2 = 0;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> ch;
		if (ch == '1') { // 一样
			if (C1 && C2) {
				C1--;
				C2--;
				Ans1[i] = 1;
				Ans2[i] = 1;
			} else {
				C1++;
				C2++;
				Ans1[i] = 0;
				Ans2[i] = 0;
			}
		} else {
			if (C1 < C2) {
				C1++;
				C2--;
				Ans1[i] = 0;
				Ans2[i] = 1;
			} else if (C1 > C2) {
				C1--;
				C2++;
				Ans1[i] = 1;
				Ans2[i] = 0;
			} else if (C1 == 0) {
				for (int j = i + 1; j <= n; j++) cin >> ch;
				cout << "NO\n";
				return;
			} else {
				C1--;
				C2++;
				Ans1[i] = 1;
				Ans2[i] = 0;
			}
		}
	}
	if (C1 || C2) {
		cout << "NO\n";
		return;
	}
	cout << "YES\n";
	for (int i = 1; i <= n; i++) cout << (Ans1[i] == 0 ? '(' : ')');
	cout << endl;
	for (int i = 1; i <= n; i++) cout << (Ans2[i] == 0 ? '(' : ')');
	cout << endl;
}
signed main() {
	cin >> t;
	while (t--) {
		Work();
	}
}
2023/5/10 21:17
加载中...