문제
출처 : www.acmicpc.net/problem/1027
1027번: 고층 건물
세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작)��
www.acmicpc.net
세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작)은 (i,0)부터 (i,높이)의 선분으로 나타낼 수 있다. 고층 빌딩 A에서 다른 고층 빌딩 B가 볼 수 있는 빌딩이 되려면, 두 지붕을 잇는 선분이 A와 B를 제외한 다른 고층 빌딩을 지나거나 접하지 않아야 한다. 가장 많은 고층 빌딩이 보이는 빌딩을 구하고, 거기서 보이는 빌딩의 수를 출력하는 프로그램을 작성하시오.
N의 최댓값이 50이여서 완전탐색으로도 풀리는 문제였다.
풀이
한 빌딩에서 볼수있는 최대 빌딩의 값을 전부 갱신해준다.
예를들어, 현재 참조할 건물의 인덱스가 1 이라면,
(1, 2 ~ N) 까지 탐색하며 1번에서 볼수있는 건물의 최대값을 찾아준다.
(1 ,2) (1,3) (1,4)...(1,N)
이때, 볼수있는 건물은 기울기 공식을 이용하여 파악한다.
기울기 공식 : (y증가량 / x증가량)
이후 반복문을 N번 돌리며, 답을 구하면 된다.
소스코드
devxb/JJUNalgo
백준 알고리즘 소스코드🙃. Contribute to devxb/JJUNalgo development by creating an account on GitHub.
github.com
'알고리즘 (2020 : 08 : 10 ~ ) > 완전탐색' 카테고리의 다른 글
[백준 / BOJ] 1034 램프 (0) | 2020.08.21 |
---|---|
[백준 / BOJ] 17349 1루수가 누구야 (0) | 2020.08.17 |
[백준 / BOJ] 1079번 마피아 (0) | 2020.08.11 |
[백준 / BOJ] 2798 블랙잭 (0) | 2020.08.11 |
[백준 / BOJ] 14754 Pizza Boxes (0) | 2020.08.10 |