我知道我写的和题解不一样,但是为什么不对啊
查看原帖
我知道我写的和题解不一样,但是为什么不对啊
255169
__LePetitPrince__楼主2023/8/17 18:00

我甚至觉得题解错了,有没有大佬告诉我我的构造为啥错了呀

#include <iostream>
#include <string>
using namespace std;
int n, l, r;
string standard, a;
int maxchange, minchange;
int changenum;
int main() {
	cin >> n >> l >> r >> standard;
	a = standard;
	maxchange = n - l;
	minchange = n - r;
	for (int i = 0; i < n; i++) {
		if (changenum == maxchange) {
			cout << a;
			return 0;
		}
		if (a[i] != 'a') {
			a[i] = 'a';
			changenum++;
		}
	}
	if (changenum >= minchange) {
		cout << a;
		return 0;
	}
	for (int i = n - 1; i >= 0; i--) {
		a[i] = 'b';
		if (standard[i] != 'b') {
			changenum++;
		}
		if (changenum == minchange) {
			break;
		}
	}
	cout << a;
	return 0;
}
2023/8/17 18:00
加载中...