문제
정올이는 탐험가가 되어 포션을 모으려 한다. 맵은
정올이는 "탐험"이라는 일련의 행동을 통해 맵을 탐험할 수 있다. 탐험은 트리에서 방
부차적인 목표는 가능한 한 많은 포션을 모으는 것이다. 매 회차의 탐험에 포션은 맵의 특정 방에 나타나며, 해당 탐험에서 포션이 나타난 방을 방문하면 포션을 획득할 수 있다. 만약 포션을 획득하지 못하면 해당 탐험이 끝날 때 포션이 사라져 이후 탐험에서는 획득할 수 없다.
정올이는 똑똑한 프로그래머로서 게임 파일을 살펴본 결과, 다음
입력
첫 번째 줄에 맵의 방 개수인 정수
다음 줄에는
그다음
출력
맵을 최소한의 탐험 횟수로 완성했을 때, 모을 수 있는 최대 포션 개수를 나타내는 정수를 한 줄에 출력한다.
부분문제
| 번호 | 점수 | 조건 |
|---|---|---|
| #1 | 35점 | |
| #2 | 11점 | 모든 포션은 |
| #3 | 54점 | 추가 제약 조건 없음 |
예제
5
1 5 4 3 4
1 2
1 3
2 4
1 5
3
이 경우 맵을 완성하기 위해 필요한 최소 탐험 횟수는 3이다.
포션 세 개를 세 번의 탐험으로 모을 수 있는 최적의 계획은 다음과 같다:
탐험 1: 1 → 3 (1번 방에서 포션 획득)
탐험 2: 1 → 5 (5번 방에서 포션 획득)
탐험 3: 1 → 2 → 4 (4번 방에서 포션 획득)