Submission #1211091
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
void rd(int &x){
int k, m=0;
x=0;
for(;;){
k = getchar_unlocked();
if(k=='-'){
m=1;
break;
}
if('0'<=k&&k<='9'){
x=k-'0';
break;
}
}
for(;;){
k = getchar_unlocked();
if(k<'0'||k>'9'){
break;
}
x=x*10+k-'0';
}
if(m){
x=-x;
}
}
void rd(char c[]){
int i, sz=0;
for(;;){
i = getchar_unlocked();
if(i!=' '&&i!='\n'&&i!='\r'&&i!='\t'&&i!=EOF){
break;
}
}
c[sz++] = i;
for(;;){
i = getchar_unlocked();
if(i==' '||i=='\n'||i=='\r'||i=='\t'||i==EOF){
break;
}
c[sz++] = i;
}
c[sz]='\0';
}
void wt_L(const char c[]){
int i=0;
for(i=0;c[i]!='\0';i++){
putchar_unlocked(c[i]);
}
}
char S[100010], T[100010];
int A, B, C, D, Q, lenS, lenT, sum1[100010], sum2[100010];
int main(){
rd(S);
rd(T);
rd(Q);
lenS = strlen(S);
lenT = strlen(T);
{
int Lj4PdHRW;
for(Lj4PdHRW= 0;Lj4PdHRW< (lenS-1) + 1;Lj4PdHRW++){
S[Lj4PdHRW] = (S[Lj4PdHRW]=='A')?2:1;
}
}
{
int KL2GvlyY;
for(KL2GvlyY= 0;KL2GvlyY< (lenT-1) + 1;KL2GvlyY++){
T[KL2GvlyY] = (T[KL2GvlyY]=='A')?2:1;
}
}
{
int Q5VJL1cS;
for(Q5VJL1cS= 1;Q5VJL1cS< (lenS) + 1;Q5VJL1cS++){
sum1[Q5VJL1cS] = sum1[Q5VJL1cS - (1) + (0)] + S[Q5VJL1cS - (1) + (0)];
}
}
{
int e98WHCEY;
for(e98WHCEY= 1;e98WHCEY< (lenT) + 1;e98WHCEY++){
sum2[e98WHCEY] = sum2[e98WHCEY - (1) + (0)] + T[e98WHCEY - (1) + (0)];
}
}
while(Q--){
rd(A);
rd(B);
rd(C);
rd(D);
if( (sum1[B]-sum1[A-1])%3 == (sum2[D]-sum2[C-1])%3 ){
wt_L("YES");
putchar_unlocked('\n');
}
else{
wt_L("NO");
putchar_unlocked('\n');
}
}
return 0;
}
// cLay varsion 20170408-3
// --- original code ---
// char S[100010], T[100010];
// int lenS, lenT;
// int Q, A, B, C, D;
//
// int sum1[100010], sum2[100010];
// {
// rd(S,T,Q);
// lenS = strlen(S);
// lenT = strlen(T);
//
// S[0..lenS-1] = (S[0..lenS-1]=='A')?2:1;
// T[0..lenT-1] = (T[0..lenT-1]=='A')?2:1;
// sum1[1..lenS] = sum1[0..] + S[0..];
// sum2[1..lenT] = sum2[0..] + T[0..];
//
// while(Q--){
// rd(A,B,C,D);
// if( (sum1[B]-sum1[A-1])%3 == (sum2[D]-sum2[C-1])%3 ) wt("YES"); else wt("NO");
// }
// }
Submission Info
Submission Time |
|
Task |
E - TrBBnsformBBtion |
User |
LayCurse |
Language |
C++14 (GCC 5.4.1) |
Score |
600 |
Code Size |
2441 Byte |
Status |
AC |
Exec Time |
12 ms |
Memory |
1664 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
600 / 600 |
Status |
|
|
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 |
9 ms |
1536 KB |
bound_1.txt |
AC |
10 ms |
1536 KB |
bound_2.txt |
AC |
10 ms |
1536 KB |
bound_3.txt |
AC |
11 ms |
1536 KB |
min.txt |
AC |
1 ms |
256 KB |
rnd_10000_10.txt |
AC |
11 ms |
1536 KB |
rnd_10000_10000.txt |
AC |
11 ms |
1536 KB |
rnd_10000_2.txt |
AC |
11 ms |
1536 KB |
rnd_10_10.txt |
AC |
11 ms |
1536 KB |
rnd_10_10000.txt |
AC |
11 ms |
1536 KB |
rnd_10_2.txt |
AC |
11 ms |
1664 KB |
rnd_2_10.txt |
AC |
12 ms |
1536 KB |
rnd_2_10000.txt |
AC |
11 ms |
1536 KB |
rnd_2_2.txt |
AC |
11 ms |
1536 KB |