import sys
readline = lambda: sys.stdin.readline().rstrip("\r\n")
def Depth(a):
depth = 0
for dir in a:
if dir == 'U':
depth -= 1
if dir == '1' or dir == '2':
depth += 1
return depth
def Coord(a):
coord = 0
for dir in a:
if dir == '1':
coord *= 2
elif dir == '2':
coord *= 2
coord += 1
elif dir == 'L':
coord -= 1
elif dir == 'R':
coord += 1
elif dir == 'U':
coord = coord // 2
return coord
path = readline()
aDepth = Depth(path)
aCoord = Coord(path)
path = readline()
bDepth = Depth(path)
bCoord = Coord(path)
if len(path) >= 100000:
print("000000")
exit()
if aDepth > bDepth:
aDepth,bDepth = bDepth,aDepth
aCoord,bCoord = bCoord,aCoord
depthSteps = bDepth - aDepth
while bDepth > aDepth:
bDepth -= 1
bCoord = bCoord // 2
ans = depthSteps + abs(aCoord - bCoord)
while aDepth >= 1:
aDepth -= 1
depthSteps += 1
depthSteps += 1
aCoord = aCoord // 2
bCoord = bCoord // 2
ans = min(ans, depthSteps + abs(aCoord - bCoord))
print(ans)
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
29 ms |
11240 KB |
Output is correct |
2 |
Correct |
28 ms |
11112 KB |
Output is correct |
3 |
Correct |
31 ms |
11112 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
52 ms |
14056 KB |
Output is correct |
2 |
Correct |
45 ms |
12004 KB |
Output is correct |
3 |
Correct |
44 ms |
12008 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
30 ms |
11136 KB |
Output is correct |
2 |
Correct |
29 ms |
11112 KB |
Output is correct |
3 |
Correct |
30 ms |
11240 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
52 ms |
14052 KB |
Output is correct |
2 |
Correct |
60 ms |
14080 KB |
Output is correct |
3 |
Correct |
49 ms |
12008 KB |
Output is correct |
4 |
Correct |
31 ms |
11112 KB |
Output is correct |
5 |
Correct |
32 ms |
11120 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
31 ms |
11120 KB |
Output is correct |
2 |
Correct |
32 ms |
11168 KB |
Output is correct |
3 |
Correct |
30 ms |
11180 KB |
Output is correct |
4 |
Correct |
29 ms |
11248 KB |
Output is correct |
5 |
Correct |
29 ms |
11112 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
47 ms |
12076 KB |
Output is correct |
2 |
Correct |
47 ms |
12008 KB |
Output is correct |
3 |
Correct |
30 ms |
11112 KB |
Output is correct |
4 |
Correct |
30 ms |
11248 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
63 ms |
14128 KB |
Output is correct |
2 |
Correct |
75 ms |
14188 KB |
Output is correct |
3 |
Correct |
133 ms |
14284 KB |
Output is correct |
4 |
Correct |
32 ms |
11240 KB |
Output is correct |
5 |
Correct |
47 ms |
11112 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
406 ms |
14824 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
400 ms |
14612 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
402 ms |
14748 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |