백준 1004 어린왕자

김민영·2022년 12월 30일
0

알고리즘

목록 보기
17/125

계획

  • 시작점을 둘러싼 원의 개수와 끝점을 둘러싼 원을 세기
  • 시작점과 끝점을 모두 둘러싼 원은 세지 않기
import sys
input = sys.stdin.readline
tc = int(input())
for _ in range(tc):
    sx, sy, ex, ey = map(int, input().split())
    N = int(input())

    # 시작점 또는 끝 점이 내부에 있는 원 표시
    lst = [0] * (N + 1)
    for i in range(N):
        x, y, r = map(int, input().split())
        s_dist = abs(sx - x) ** 2 + abs(sy - y) ** 2
        e_dist = abs(ex - x) ** 2 + abs(ey - y) ** 2
        if s_dist < r * r:
            lst[i] += 1
        if e_dist < r * r:
            lst[i] += 1
    ans = 0
    for i in lst:
        if i == 1:
            ans += 1
    print(ans)
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글