백준 6502 동혁피자
알고리즘 분류 : 수학, 구현, 기하학, 피타고라스 정리
링크 : https://www.acmicpc.net/problem/6502
문제분석
반지름이 r인 원 안에 너비가 w. 높이가 l인 피자가 놓여질 수 있는지 없는지를 판단하는 문제이다.
직사각형 모양의 피자가 원을 벗어나지 않고 놓이기 위해서는 피자의 대각선의 길이가 테이블의 지름의 길이를 초과해선 안된다.
이 때 직사각형의 대각선 길이 x는 (w^2 + x^2)^0.5임을 이용해 피자가 테이블 위에 놓일 수 있는지 없는지를 판단할 수 있다.
풀이
피자의 순서를 나타내는 i = 1 을 선언 후 반복문을 시작한다.
r = 0인경우 프로그램이 종료되어야 하므로 while문을 이용한다.
r, w, l이 정상적으로 입력된 경우 원의 지름을 나타내는 table과 피자의 대각선의 길이를 나타내는 pizza 변수를 선언해준다.
원의 지름 (table)이 피자의 대각선(pizza)보다 크거나 같을 경우 피자를 놓을 수 있다. 그렇지 않은 경우에는 놓일 수 없다.
피자의 순서 i에 1을 더해 다음 피자에 대해 확인한다.
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준] #2828 사과 담기 게임 (0) | 2023.01.22 |
---|---|
[백준/python] 1181 단어 정렬 (0) | 2023.01.21 |
[백준/python] 1302 베스트셀러 (0) | 2023.01.21 |
[백준/C++] 6996 애너그램 (0) | 2023.01.21 |
[백준 / C++] 7785번: 회사에 있는 사람 (0) | 2023.01.20 |