파비의 매일매일 공부기록

[BOJ] 1063 본문

Problem Solving/BOJ

[BOJ] 1063

fabichoi 2022. 1. 14. 23:45

https://www.acmicpc.net/problem/1063 

역시 구현 문제는 난이도가 높지는 않은데 신경쓸게 좀 있다.
그리고 왠지 풀다보면 업무 하는 기분.. ㅋㅋㅋㅋㅋㅋ 역시 PS와 서비스를 개발하는 건 차이가 있다.

# BOJ 1063

def solve():
    a, b, n = input().split(' ')
    ax, ay = ord(a[0]) - ord('A') + 1, int(a[1])
    bx, by = ord(b[0]) - ord('A') + 1, int(b[1])
    commands = {'R': [1, 0], 'L': [-1, 0], 'B': [0, -1], 'T': [0, 1],
                'RT': [1, 1], 'LT': [-1, 1], 'RB': [1, -1], 'LB': [-1, -1]}
    for _ in range(int(n)):
        cmd_x, cmd_y = commands.get(input())
        x, y = ax + cmd_x, ay + cmd_y
        if x < 1 or x > 8 or y < 1 or y > 8:
            continue
        if x == bx and y == by:
            rx, ry = bx + cmd_x, by + cmd_y
            if rx < 1 or rx > 8 or ry < 1 or ry > 8:
                continue
            bx, by = rx, ry
        ax, ay = x, y

    print(chr(ord('A') + ax - 1) + str(ay))
    print(chr(ord('A') + bx - 1) + str(by))

if __name__ == '__main__':
    solve()
반응형

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ] 1076  (0) 2022.01.16
[BOJ] 1075 [재시도 필요]  (0) 2022.01.15
[BOJ] 1059 [재시도 필요]  (0) 2022.01.13
[BOJ] 1057 [재시도 필요]  (0) 2022.01.12
[BOJ] 1052 [재시도 필요]  (0) 2022.01.11
Comments