-
[알고리즘 문제 풀이][기하학] 백준 3053번 - 택시 기하학자료구조&알고리즘/알고리즘 - 대회 알고리즘 2022. 2. 15. 00:21
백준 3053번 택시 기하학 문제입니다.
(기하학 - 도형의 넓이)
- 문제 설명: https://www.acmicpc.net/problem/3053
- 문제 풀이:
첫번째 출력은 원의 넓이를 출력하는 것입니다. 원의 넓이는 𝜋𝑟² 이므로 어렵지 않을 것입니다.
두번째는 택시기하학에서 같은 점들로 이루어지는 도형의 넓이를 구해야합니다.
택시 기하학에서 거리는 문제에서 주어졌듯이, |x1-x2| + |y1-y2| 로 구해야합니다. (x1과 x2 차이의 절대값, y1과 y2 차이의 절대값)
예를 들어, 중간 지점인 (x1,y1) = (0,0)을 기준으로 삼고, 길이가 10이라면 아래와 같은 점들이 모두 길이가 10이 나온다는 것을 알 수 있습니다.
여기서 x2 값을 한 칸 줄이고, y2 값을 한 칸 늘여도 거리는 10이 됩니다. 혹은 x2 값을 한 칸 늘이고, y2 값을 한칸 줄여도 거리가 10이 됩니다. 이것을 그림으로 그려보면 점점 마름모 형태가 되는 것을 볼 수 있습니다.
그래서 최종적으로는 원과 마름모의 넓이를 구하면 됩니다.
원의 넓이: 𝜋𝑟²
마름모의 넓이: 2𝑟²
- 코드:
R = int(input()) print("{:.6f}".format(R*R*3.14159265359)) print("{:.6f}".format(R*R*2))
- 실수 포인트 & 반례:
질문 답변 게시판을 보면 반례 자체보다는 출력된 값이 문제에서 제시한 오차 범위 안에 들어오지 않아서 틀리는 경우가 많습니다. 자료형에 주의해서 코드를 작성해야하며, 정답과 오차가 0.0001 안에 들어오는지 확인해야합니다.
'자료구조&알고리즘 > 알고리즘 - 대회 알고리즘' 카테고리의 다른 글
[알고리즘 문제 풀이][세그먼트트리] 백준 3392번 - 화성 지도 (0) 2022.02.28 [알고리즘 문제 풀이][DP] Leetcode 264번 - Ugly Number II (0) 2022.02.19 [알고리즘 문제 풀이][완전탐색] 백준 12784번 - 인하니카 공화국 (0) 2022.02.13 [알고리즘 문제 풀이][기하학] 백준 1002번 - 터렛 (0) 2022.02.12 [알고리즘 문제 풀이][슬라이딩윈도우] 백준 16440번 - 제이크와 케이크 (0) 2022.01.28 댓글