This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma warning(disable:4996)
#include<stdio.h>
struct Stack{
int a, b;
}st[101000];
int top, a[101000], b[101000], c1, c2, Res;
char p[101000];
void ins(int a){
if (st[top].a == a)st[top].b++;
else{
st[++top].a = a; st[top].b = 1;
}
}
void init(){
while (top && !st[top].b)top--;
}
void Del1(){
st[top].b--;
init();
}
int Del2(){
return st[top--].b;
}
void Do(){
int i, ck, t;
top = 0;
scanf("%s", p);
for (i = 0; p[i]; i++){
if (p[i] <= '2'){
ins(p[i] - '0');
continue;
}
if (p[i] == 'U'){
Del1();
continue;
}
if (p[i] == 'L')ck = 1;
else ck = 2;
if (st[top].a != ck){
Del1();
ins(ck);
continue;
}
t = Del2();
Del1();
ins(ck);
st[++top].a = 3 - ck; st[top].b = t;
}
}
int main()
{
Do();
int i, c = 0, t;
for (i = 1; i <= top; i++){
while (st[i].b--)a[++c1] = st[i].a;
}
Do();
for (i = 1; i <= top; i++){
while (st[i].b--)b[++c2] = st[i].a;
}
if (c1 > c2){
Res = c1 - c2; c1 = c2;
}
else Res = c2 - c1;
for (i = 1; i <= c1; i++){
t = c * 2 - a[i] + b[i];
if (t > 3 || t < -3)break;
c = t;
}
Res += (c1 + 1 - i) * 2;
Res += c < 0 ? -c : c;
printf("%d\n", Res);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |