#include <cstdio> #include <cstdlib> #include <algorithm> #include <cmath> #include <set> #include <vector> using namespace std; typedef long long int int64; char buf[100001]; vector<int> aa, bb; int main(){ scanf("%s", buf); for(int lx = 0; buf[lx+1] != 0;lx++){ if(buf[lx] == 'A' and buf[lx+1] == 'B') aa.push_back(lx); if(buf[lx+1] == 'A' and buf[lx] == 'B') bb.push_back(lx); } if(aa.size() == 0 or bb.size() == 0){ puts("NO"); return 0; } if(aa.size() + bb.size() >= 4){ puts("YES"); return 0; } bool ok = false; if(aa.size() + bb.size() == 2) ok = abs(aa[0]-bb[0]) >= 2; else{ if(aa.size() == 1) ok = abs(bb[0]-bb[1]) >= 3; else ok = abs(aa[0]-aa[1]) >= 3; } puts(ok ? "YES" : "NO"); return 0; }
2015年6月30日 星期二
Codeforces Round #306 (Div. 2), problem: (A) Two Substrings
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言