BOJ [9205]

seonhyeongpak·2022년 1월 8일
0

python

목록 보기
7/7
import sys
input = sys.stdin.readline
def linking():
    for i in range(n + 2):
        for j in range(n + 2):
            if i == j:
                continue
            if abs(s[i][0] - s[j][0]) + abs(s[i][1] - s[j][1]) <= 1000:
                link[i][j] = 1
                link[j][i] = 1
def dfs(start):
    check[start] = 1
    for i in range(n + 2):
        if link[start][i] == 1 and check[i] == 0:
            dfs(i)
t = int(input())
for i in range(t):
    n = int(input())
    s = [list(map(int, input().split())) for i in range(n + 2)]
    link = [[0] * (n + 2) for i in range(n + 2)]
    check = [0 for i in range(n + 2)]
    linking()
    dfs(0)
    if check[n + 1] == 1:
        print("happy")
    else:
        print("sad")
profile
모든 생각을 구현해내기 위해 노력하는 개발자

0개의 댓글