Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 자바 반복문
- 자바 if문
- 자바 향상된 for문
- 항해99
- 자바 public
- 자바 switch문
- 타입스크립트
- 변수
- java
- 자바 while문
- 자바 스캐너
- 이클립스 DB연동
- 자바
- 자바 조건문
- 프로그래머스
- Til
- 자바 강제 캐스팅
- MySQL
- 정보처리기사실기
- 항해99 2기
- Vue3
- 자바 삼항연산자
- 자바 자동캐스팅
- 자바 for문
- TypeScript
- 자바 공배수
- react with typescript
- react ag grid
- 자바 구구단 출력
- 조코딩
Archives
- Today
- Total
뇌 채우기 공간
[백준] 1002 터렛 파이썬 풀이 (기본 수학) 본문
문제
- 조규현의 좌표 (x1, y1)과 백승환의 좌표(x2,y2)가 주어지고
- 조규현과 류재명의 거리 r1, 백승환과 류재명의 거리 r2가 주어진다.
- 류재명이 있을 수 있는 좌표의수를 출력하라
문제 풀이
- 조규현의 좌표를 중심으로 r1을 반지름으로 하는 원의 테두리의 모든 좌표가 류재명이 있을 수 있는 거리이다
- 백승환의 좌표를 중심으로 r2를 반지름으로 하는 원의 테두리의 모든 좌표가 류재명이 있을 수 있는 거리이다.
- 이때 두 원이 한 점에서 접하면 류재명이 있을 수 있는 좌표는 1개이다.
- 두 원이 두점에서 접하면 류재명이 있을 수 있는 좌표는 2개이다.
- 두 원이 접하지 않으면 류재명이 있을 수 있는 좌표는 0개이다.
- 두 원이 일치하면 류재명이 있을 수 있는 좌표는 무한개이다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import math
n = int(input())
for i in range(n):
x1, y1, r1, x2, y2, r2 = map(int, input().split())
distance = math.sqrt((y2-y1)**2 + (x2-x1)**2)
if distance == 0: #원점이 같을때
if r1== r2 : #반지름이 같으면 같은 원
print(-1)
else:
print(0) #반지름이 다르면 만나지 않음
else:
if distance > r1+r2 or distance< abs(r1-r2): #밖에서 만나지 않을때 or 안에서 만나지 않을때
print(0)
elif distance == r1+r2 or distance == abs(r1-r2): #밖에서 만날때 or 안에서 만날때
print(1)
elif distance < r1+r2 : # 두 점에서 겹칠때
print(2)
|
cs |
두 원이 접하지 않을 때
두 원이 접할 때
두 원이 두 점에서 접할 때
728x90
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[백준] 2231 분해합 파이썬 풀이 (브루트포스) (0) | 2021.06.24 |
---|---|
[백준] 2798 블랙잭 파이썬 풀이 (브루트포스) (0) | 2021.06.24 |
[백준] 2579 계단 오르기 파이썬 풀이 (동적 계획법) (0) | 2021.06.24 |
[백준] 9663 N-Queen 파이썬 풀이 (백트래킹) (1) | 2021.06.24 |
[백준] 15650 N과 M(2) 파이썬 풀이 (백트래킹) (0) | 2021.06.24 |