๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[BAEKJOON python] 15685_๋๋๊ณค ์ปค๋ธ ๋ณธ๋ฌธ
728x90
๋ฐ์ํ
๋๋๊ณค ์ปค๋ธ๋ ๋ค์๊ณผ ๊ฐ์ ์ธ ๊ฐ์ง ์์ฑ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ์ด์ฐจ์ ์ขํ ํ๋ฉด ์์์ ์ ์์ขํ ํ๋ฉด์ x์ถ์ → ๋ฐฉํฅ, y์ถ์ ↓ ๋ฐฉํฅ์ด๋ค.์์ ์ ์์ ๋ฐฉํฅ์ธ๋
์ฆ, K(K > 1)์ธ๋ ๋๋๊ณค ์ปค๋ธ๋ K-1์ธ๋ ๋๋๊ณค ์ปค๋ธ๋ฅผ ๋ ์ ์ ๊ธฐ์ค์ผ๋ก 90๋ ์๊ณ ๋ฐฉํฅ ํ์ ์ํจ ๋ค์,๊ทธ๊ฒ์ ๋ ์ ์ ๋ถ์ธ ๊ฒ
ํฌ๊ธฐ๊ฐ 100×100์ธ ๊ฒฉ์ ์์ ๋๋๊ณค ์ปค๋ธ๊ฐ N๊ฐ ์๋ค.ํฌ๊ธฐ๊ฐ 1×1์ธ ์ ์ฌ๊ฐํ์ ๋ค ๊ผญ์ง์ ์ด ๋ชจ๋ ๋๋๊ณค ์ปค๋ธ์ ์ผ๋ถ์ธ ์ ์ฌ๊ฐํ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑ๊ฒฉ์์ ์ขํ๋ (x, y)๋ก ๋ํ๋ด๋ฉฐ, 0 ≤ x ≤ 100, 0 ≤ y ≤ 100๋ง ์ ํจํ ์ขํ
์ฒซ์งธ ์ค์ ๋๋๊ณค ์ปค๋ธ์ ๊ฐ์ N(1 ≤ N ≤ 20)์ด ์ฃผ์ด์ง๋ค.๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋๋๊ณค ์ปค๋ธ์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ค.๋๋๊ณค ์ปค๋ธ์ ์ ๋ณด๋ ๋ค ์ ์ x, y, d, g๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.x์ y๋ ๋๋๊ณค ์ปค๋ธ์ ์์ ์ , d๋ ์์ ๋ฐฉํฅ, g๋ ์ธ๋์ด๋ค.(0 ≤ x, y ≤ 100, 0 ≤ d ≤ 3, 0 ≤ g ≤ 10)์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋๋๊ณค ์ปค๋ธ๋ ๊ฒฉ์ ๋ฐ์ผ๋ก ๋ฒ์ด๋์ง ์๋๋ค. ๋๋๊ณค ์ปค๋ธ๋ ์๋ก ๊ฒน์น ์ ์๋ค.๋ฐฉํฅ์ 0, 1, 2, 3 ์ค ํ๋0: x์ขํ๊ฐ ์ฆ๊ฐํ๋ ๋ฐฉํฅ (→)1: y์ขํ๊ฐ ๊ฐ์ํ๋ ๋ฐฉํฅ (↑)2: x์ขํ๊ฐ ๊ฐ์ํ๋ ๋ฐฉํฅ (←)3: y์ขํ๊ฐ ์ฆ๊ฐํ๋ ๋ฐฉํฅ (↓)
์ฒซ์งธ ์ค์ ํฌ๊ธฐ๊ฐ 1×1์ธ ์ ์ฌ๊ฐํ์ ๋ค ๊ผญ์ง์ ์ด ๋ชจ๋ ๋๋๊ณค ์ปค๋ธ์ ์ผ๋ถ์ธ ๊ฒ์ ๊ฐ์๋ฅผ ์ถ๋ ฅ
N = int(input())
board = [[0] * 101 for _ in range(101)]
dx = [1, 0, -1, 0]
dy = [0, -1, 0, 1]
for _ in range(N) :
# x์ y๋ ๋๋๊ณค ์ปค๋ธ์ ์์ ์ , d๋ ์์ ๋ฐฉํฅ, g๋ ์ธ๋
x, y, d, g = map(int, input().split())
board[x][y] = 1
q = [d] # ์ด์ ์ธ๋ ๋ฐฉํฅ์๋ค๊ฐ 1์ ๋ํ๊ณ ์ด๋ฅผ ๋ค์ง์ด์ ์ด๋์ํฌ ๋ฐฉํฅ
for _ in range(g) :
temp = [] # temp์ ์ด์ ์ธ๋ ๋ฐฉํฅ์ ๊ธฐ๋ก
for i in range(len(q)) :
temp.append((q[-i - 1] + 1) % 4)
q.extend(temp)
for j in q :
nx = x + dx[j]
ny = y + dy[j]
board[nx][ny] = 1
x = nx
y = ny
result = 0
for i in range(100) :
for j in range(100) :
if board[i][j] and board[i+1][j] and board[i][j+1] and board[i+1][j+1] :
result += 1
print(result)
728x90
๋ฐ์ํ
'๐ฆฅ ์ฝํ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON python] 16234_์ธ๊ตฌ ์ด๋ (0) | 2022.10.14 |
---|---|
[BAEKJOON python] 15686_์นํจ ๋ฐฐ๋ฌ (0) | 2022.10.14 |
[BAEKJOON python] 15684_์ฌ๋ค๋ฆฌ ์กฐ์ (0) | 2022.10.13 |
[BAEKJOON python] 15683_๊ฐ์ (0) | 2022.10.13 |
[BAEKJOON python] 14891_ํฑ๋๋ฐํด (0) | 2022.10.13 |
Comments