Submission #1689373


Source Code Expand

#include <bits/stdc++.h>
#define REP(i, a, n) for(ll i = ((ll) a); i < ((ll) n); i++)
using namespace std;
typedef long long ll;

string S, T;
ll Q, A, B, C, D;

void init(const string &S, string &s) {
  s = "X";
  REP(i, 0, S.length()) {
    if(s[i] == 'A' && S[i] == 'A') s += "B";
    if(s[i] == 'B' && S[i] == 'B') s += "A";
    if(s[i] == 'A' && S[i] == 'B') s += "X";
    if(s[i] == 'B' && S[i] == 'A') s += "X";
    if(s[i] == 'X' && S[i] == 'A') s += "A";
    if(s[i] == 'X' && S[i] == 'B') s += "B";
  }
}

char which(const string &s, ll l, ll r) {
  if(s[l] == 'A' && s[r] == 'A') return 'X';
  if(s[l] == 'B' && s[r] == 'B') return 'X';
  if(s[l] == 'A' && s[r] == 'B') return 'A';
  if(s[l] == 'B' && s[r] == 'A') return 'B';
  if(s[l] == 'X' && s[r] == 'A') return 'A';
  if(s[l] == 'X' && s[r] == 'B') return 'B';
  if(s[l] == 'A' && s[r] == 'X') return 'B';
  if(s[l] == 'B' && s[r] == 'X') return 'A';
  if(s[l] == 'X' && s[r] == 'X') return 'X';
}

int main(void) {
  cin >> S >> T;

  string s, t;
  init(S, s);
  init(T, t);

  cin >> Q;
  REP(i, 0, Q) {
    cin >> A >> B >> C >> D;
    if(which(s, A - 1, B) == which(t, C - 1, D)) cout << "YES" << endl;
    else cout << "NO" << endl;
  }
}

Submission Info

Submission Time
Task E - TrBBnsformBBtion
User kshinya
Language C++14 (GCC 5.4.1)
Score 600
Code Size 1258 Byte
Status AC
Exec Time 297 ms
Memory 1152 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 2
AC × 16
Set Name Test Cases
Sample 0_000.txt, 0_001.txt
All 0_000.txt, 0_001.txt, bound_0.txt, bound_1.txt, bound_2.txt, bound_3.txt, min.txt, rnd_10000_10.txt, rnd_10000_10000.txt, rnd_10000_2.txt, rnd_10_10.txt, rnd_10_10000.txt, rnd_10_2.txt, rnd_2_10.txt, rnd_2_10000.txt, rnd_2_2.txt
Case Name Status Exec Time Memory
0_000.txt AC 1 ms 256 KB
0_001.txt AC 1 ms 256 KB
bound_0.txt AC 267 ms 1152 KB
bound_1.txt AC 281 ms 1152 KB
bound_2.txt AC 283 ms 1152 KB
bound_3.txt AC 297 ms 1152 KB
min.txt AC 1 ms 256 KB
rnd_10000_10.txt AC 295 ms 1152 KB
rnd_10000_10000.txt AC 289 ms 1152 KB
rnd_10000_2.txt AC 290 ms 1152 KB
rnd_10_10.txt AC 291 ms 1152 KB
rnd_10_10000.txt AC 290 ms 1152 KB
rnd_10_2.txt AC 289 ms 1152 KB
rnd_2_10.txt AC 288 ms 1152 KB
rnd_2_10000.txt AC 285 ms 1152 KB
rnd_2_2.txt AC 286 ms 1152 KB