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;
}
标签:AtCoder,Beginner,Contest,int,long,字符,using,043
From: https://www.cnblogs.com/pangyou3s/p/18283954