AtCoder Beginner Contest 043

D - Unbalanced

只需要找到形如 \(XX\)\(XYX\) 的字串即可。即两个相同字符之间最多间隔一个字符

证明:若不然,\(AXYA\),每加一个字符 \(A\),都要增加多余字符 \(XY\),不可能符合要求。

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;

int main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);
	string s;
	cin >> s;
	for (int i = 0; i < s.size() - 1; i++) {
		if (s[i] == s[i + 1]) {
			cout << i + 1 << " " << i + 2;
			return 0;
		} else if (i < s.size() - 2 && s[i] == s[i + 2]) {
			cout << i + 1 << " " << i + 3;
			return 0;
		}
	}
    cout << "-1 -1";
	return 0;
}
posted @ 2024-07-04 15:29  胖柚の工作室  阅读(21)  评论(0)    收藏  举报