단순 구현문제다.
거북이가 간 점들의 최대, 최소가 되는 x좌표와 y좌표로 직사각형의 넓이를 구할 수 있다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import sys
input = sys.stdin.readline
t = int(input())
def fr():
k[0] = min(now[0], k[0])
k[1] = min(now[1], k[1])
k[2] = max(now[0], k[2])
k[3] = max(now[1], k[3])
def go(m):
for i in range(2):
now[i] += p[m][i]
fr()
while t:
t -= 1
k = [0,0,0,0] #minX, minY, maxX, maxY
s = list(input())
now = [0,0]
d = 0
p = [[0,1], [1,0], [0,-1], [-1,0]]
for i in s:
if i == "F":
go(d)
if i == "B":
go((d+2)%4)
if i == "L":
d -= 1
d %= 4
if i == "R":
d += 1
d %= 4
# print(k)
print((k[2]-k[0])*(k[3]-k[1]))
|
cs |
'백준 문제풀이' 카테고리의 다른 글
백준 17371 - 이사 [Python] (0) | 2021.04.01 |
---|---|
백준 13263 - 나무 자르기 [Python] (0) | 2021.03.29 |
백준 1655 - 가운데를 말해요 [Python] (0) | 2021.03.22 |
백준 21133 - N-Queen 2 [Python] (0) | 2021.03.12 |
백준 20913 - Mixtape Management [Python] (0) | 2021.02.09 |