📙
python-algorithm
  • 🖋️알고리즘 풀이 저장소
  • 이론
    • BFS & DFS 이론
    • 다익스트라 이론
    • 최소신장트리(크루스칼) 이론
    • 백트래킹 이론
  • 유형
    • 정렬
    • 순열과 조합
    • 탐색
    • 이분 탐색
    • SHA-256
    • 투 포인터
    • 피보나치
    • Z 재귀함수
    • 재귀함수
    • 친구 네트워크
    • 찾기
    • 큐
    • 스택 수열
    • 기하학
    • 트리 순회
    • 고급 탐색
    • BFS & DFS 알고리즘
    • 다익스트라 알고리즘
    • 최소신장트리(크루스칼) 알고리즘
    • 동적 프로그래밍
    • 그리디 알고리즘
    • 백트래킹 알고리즘
  • 기타
    • 베스트셀러
    • 성
    • 키 로거
    • 음계
Powered by GitBook
On this page
  • 백준 1004번 : 어린 왕자
  • 1. 풀이
  1. 유형

기하학

#기하학

백준 1004번 : 어린 왕자

1. 풀이

t = int(input())

for i in range(t):
    count = 0

    x1, y1, x2, y2 = map(int, input().split())
    n = int(input())

    for i in range(n):
        px, py, pr = map(int, input().split())
        # **2는 제곱 **0.5는 루트를 씌운 것과 같다.
        # d1은 시작점부터 한 점까지의 거리
        d1 = (((x1 - px) ** 2) + ((y1 - py) ** 2)) ** 0.5
        # d2는 도착점부터 한 점까지의 거리
        d2 = (((x2 - px) ** 2) + ((y2 - py) ** 2)) ** 0.5
        # 시작점과 도착점을 기준으로 한 점의 반지름을 체크
        if (d1 < pr and d2 > pr) or (d1 > pr and d2 < pr):
            count += 1
    print(count)

중간의 행성을 피하는 것은 우주선이 할 일이고, 알고리즘은 출발점이나 도착점이 행성의 내부에 위치한 것을 체크하면 된다.

Previous스택 수열Next트리 순회

Last updated 3 years ago