본문 바로가기
반응형

백준알고리즘/기하 19

(Python/🥈4)백준 알고리즘1358번: 하키 문제 출처:https://www.acmicpc.net/problem/1358 1358번: 하키 첫째 줄에 수 W H X Y P가 주어진다. P는 선수의 수이다. W와 H는 100보다 작거나 같은 자연수이고, H는 짝수이다. X와 Y는 절댓값이 100보다 작거나 같은 정수이다. P는 최대 50인 자연수이다. 둘째 줄부 www.acmicpc.net 풀이: import sys w, h, x, y, p = map(int, input().split()) def get(x1, y1, x2, y2): return ((x2-x1)**2)+((y2-y1)**2)**0.5 ans = 0 for i in range(p): a, b = map(int,input().split()) if x 2022. 5. 30.
(Python/🥈3)백준 알고리즘 1004번: 어린 왕자 import sys import math cases = int(input()) results = [] for case in range(cases): count = 0 x1, y1, x2, y2 = map(int, input().split()) ps = int(input()) planets = [] for p in range(ps): px, py, pr = map(int, input().split()) # 출발지와 원의 중심 사이의 거리 d1 = math.sqrt((x1 - px) ** 2 + (y1 - py) ** 2) # 도착지와 원의 중심 사이의 거리 d2 = math.sqrt((x2 - px) ** 2 + (y2 - py) ** 2) # 출발지 또는 도착지가 중심 사이의 거리보다 작다면 진입/이탈 .. 2022. 5. 30.
(Python/🥈4)백준 알고리즘 1002번: 터렛 문제 출처:https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 풀이: T = int(sys.stdin.readline()) distance = 0 # 대각 for i in range(T): x1,y1,r1,x2,y2,r2 = list(map(int,(sys.stdin.readline().split()))) distance = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5 # 점 들 사이의 거리 피타고리스 사용 a = r1 + r2 # 두 반지름의 합 b = abs(r1-r2.. 2022. 5. 27.
(Python/🥉3)백준 알고리즘 3053번: 택시 기하학 문제 출처:https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 풀이: import sys import math R = int(sys.stdin.readline()) print("{0:.6f}".format(math.pi*(R**2))) print("{0:.6f}".format((R**2)*2)) 소수점 표현하는 방법을 포맷팅을 이용해서 구현하면 된다 "{0:0.6f}".format(숫자들) 소수점6째 짜리까지 2022. 5. 27.
(Python/🥈4)백준 알고리즘 2477번: 참외밭 문제 출처:https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net 풀이: k = int(input()) a_li = [] w = h = w2 = h2 = 0 for i in range(6): x,a = map(int, input().split()) a_li.append(a) if i % 2 == 0: # 나머지 w = max(w, a) else: h = max(h, a) # 최댓값을 정해줌 # 가로 세로 순으로 바뀌므로 나머지 % = 0 이용 # 두.. 2022. 5. 27.
(Python/🥉3)백준 알고리즘 3034번: 앵그리 창영 문제 출처:https://www.acmicpc.net/problem/3034 3034번: 앵그리 창영 첫째 줄에 던진 성냥의 개수 N과 박스의 가로 크기 W와 세로 크기 H가 주어진다. (1 ≤ N ≤ 50, 1 ≤ W, H ≤ 100) 다음 N개 줄에는 성냥의 길이가 주어진다. 길이는 1보다 크거나 같고 1000보다 작거나 www.acmicpc.net 풀이: n, w, h = map(int, input().split()) z = ((w**2 + h**2)**(0.5)) for i in range(n): box = int(input()) if box 2022. 5. 26.
반응형