๐กsolutions
๐ฌ BFS ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฌธ์ ํด๊ฒฐํ์๋ค.
๐ฌ ์ฃผ์ด์ง ์ขํ๋ค์ ์ฌ์ฉํ๋๋ฐ -> ์๊ทผ์ด๋ค์ง(home_x, home_y)์์๋ถํฐ ํ์์ ์์ํ๋ค.
๐ฌ ํธ์์ ์ขํ๋ฅผ ๋์๊ฐ๋ฉฐ ๋ฐฉ๋ฌธ ๊ฐ๋ฅ ์ ๋ฌด๋ฅผ ํ์ธํ๋ค -> ๋ ๊ฐ์ง๋ฅผ ํ์ธํ๋๋ฐ โ ์ด๋ฏธ ๋ฐฉ๋ฌธํ๋์ง โก 20๊ฐ์ ๋งฅ์ฃผ๋ก ์ด๋ํ ์ ์๋ ๊ฑฐ๋ฆฌ์ธ์ง๋ฅผ ํ์ธํ๋ค.
๐ฌ q์์ popleftํ์ฌ ๋ค์์ผ๋ก ์ด๋ํ ์ขํ๊ฐ ๋ฝ ํ์คํฐ๋ฒ ์ขํ(rock_x, rock_y)์ด๋ฉด ํ๋ณตํ๊ฒ ํ์คํฐ๋ฒ์ ๊ฐ ์ ์์ผ๋ฏ๋ก 'happy'๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ค.
๐จ๐ปcode
import sys
from collections import deque
def bfs(x, y):
q = deque([[x, y]])
visit = [[x, y]]
while q:
x, y = q.popleft()
if x == rock_x and y == rock_y:
print('happy')
return
for nx, ny in next:
if [nx, ny] not in visit:
if abs(nx-x) + abs(ny-y) <= beer*50:
q.append([nx, ny])
visit.append([nx, ny])
print('sad')
return
input = sys.stdin.readline
for i in range(int(input())):
n = int(input())
beer = 20
home_x, home_y = map(int, input().split())
next = []
for j in range(n+1):
x, y = map(int, input().split())
next.append([x, y])
rock_x, rock_y = next[-1][0], next[-1][1]
bfs(home_x, home_y)
๐description
๋ฌธ์
์ก๋์ ์ฌ๋ ์๊ทผ์ด์ ์น๊ตฌ๋ค์ ์ก๋์์ ์ด๋ฆฌ๋ ํํํฌํธ ๋ฝ ํ์คํฐ๋ฒ์ ๊ฐ๋ ค๊ณ ํ๋ค. ์ฌํด๋ ๋งฅ์ฃผ๋ฅผ ๋ง์๋ฉด์ ๊ฑธ์ด๊ฐ๊ธฐ๋ก ํ๋ค. ์ถ๋ฐ์ ์๊ทผ์ด๋ค ์ง์์ ํ๊ณ , ๋งฅ์ฃผ ํ ๋ฐ์ค๋ฅผ ๋ค๊ณ ์ถ๋ฐํ๋ค. ๋งฅ์ฃผ ํ ๋ฐ์ค์๋ ๋งฅ์ฃผ๊ฐ 20๊ฐ ๋ค์ด์๋ค. ๋ชฉ์ด ๋ง๋ฅด๋ฉด ์๋๊ธฐ ๋๋ฌธ์ 50๋ฏธํฐ์ ํ ๋ณ์ฉ ๋ง์๋ ค๊ณ ํ๋ค. ์ฆ, 50๋ฏธํฐ๋ฅผ ๊ฐ๋ ค๋ฉด ๊ทธ ์ง์ ์ ๋งฅ์ฃผ ํ ๋ณ์ ๋ง์ ์ผ ํ๋ค.
์๊ทผ์ด์ ์ง์์ ํ์คํฐ๋ฒ์ด ์ด๋ฆฌ๋ ๊ณณ์ ๋งค์ฐ ๋จผ ๊ฑฐ๋ฆฌ์ด๋ค. ๋ฐ๋ผ์, ๋งฅ์ฃผ๋ฅผ ๋ ๊ตฌ๋งคํด์ผ ํ ์๋ ์๋ค. ๋ฏธ๋ฆฌ ์ธํฐ๋ท์ผ๋ก ์กฐ์ฌ๋ฅผ ํด๋ณด๋ ๋คํํ๋ ๋งฅ์ฃผ๋ฅผ ํ๋ ํธ์์ ์ด ์๋ค. ํธ์์ ์ ๋ค๋ ธ์ ๋, ๋น ๋ณ์ ๋ฒ๋ฆฌ๊ณ ์ ๋งฅ์ฃผ ๋ณ์ ์ด ์ ์๋ค. ํ์ง๋ง, ๋ฐ์ค์ ๋ค์ด์๋ ๋งฅ์ฃผ๋ 20๋ณ์ ๋์ ์ ์๋ค. ํธ์์ ์ ๋์ ์งํ์๋ 50๋ฏธํฐ๋ฅผ ๊ฐ๊ธฐ ์ ์ ๋งฅ์ฃผ ํ ๋ณ์ ๋ง์ ์ผ ํ๋ค.
ํธ์์ , ์๊ทผ์ด๋ค ์ง, ํํํฌํธ ๋ฝ ํ์คํฐ๋ฒ์ ์ขํ๊ฐ ์ฃผ์ด์ง๋ค. ์๊ทผ์ด์ ์น๊ตฌ๋ค์ด ํ๋ณตํ๊ฒ ํ์คํฐ๋ฒ์ ๋์ฐฉํ ์ ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ t๊ฐ ์ฃผ์ด์ง๋ค. (t ≤ 50)
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ๋งฅ์ฃผ๋ฅผ ํ๋ ํธ์์ ์ ๊ฐ์ n์ด ์ฃผ์ด์ง๋ค. (0 ≤ n ≤ 100).
๋ค์ n+2๊ฐ ์ค์๋ ์๊ทผ์ด๋ค ์ง, ํธ์์ , ํํํฌํธ ๋ฝ ํ์คํฐ๋ฒ ์ขํ๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ์ขํ๋ ๋ ์ ์ x์ y๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. (๋ ๊ฐ ๋ชจ๋ ๋ฏธํฐ, -32768 ≤ x, y ≤ 32767)
์ก๋๋ ์ง์ฌ๊ฐํ ๋ชจ์์ผ๋ก ์๊ธด ๋์์ด๋ค. ๋ ์ขํ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ x ์ขํ์ ์ฐจ์ด + y ์ขํ์ ์ฐจ์ด ์ด๋ค. (๋งจํดํผ ๊ฑฐ๋ฆฌ)
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด์ ์๊ทผ์ด์ ์น๊ตฌ๋ค์ด ํ๋ณตํ๊ฒ ํ์คํฐ๋ฒ์ ๊ฐ ์ ์์ผ๋ฉด "happy", ์ค๊ฐ์ ๋งฅ์ฃผ๊ฐ ๋ฐ๋ฅ๋์ ๋ ์ด๋ํ ์ ์์ผ๋ฉด "sad"๋ฅผ ์ถ๋ ฅํ๋ค.