시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 1024 MB | 110 | 34 | 28 | 39.437% |
간단한 점프 게임이 있다. 캐릭터는 1층에 위치한 임의의 위치의 발판에서 시작할 수 있다. 이 캐릭터는 2가지 액션 중 한 가지를 할 수 있으며, 게임의 목표는 가장 높은 발판에 최소한의 점프로 도착하는 것이다.
아래와 같은 예시를 생각해 보자.
1층에는 2개의 발판이 존재한다. 1층의 오른쪽 발판과 왼쪽 발판 중 어느 곳에서든 캐릭터는 시작할 수 있으며, 이 경우 오른쪽 발판에서 4층으로 1번의 점프로 이동하는 방법이 최적이다. 또한 점프 방식에 대한 정의에 의하여 1층의 오른쪽 발판 위에 캐릭터가 있고, 만약 위치 8에서 점프를 할 경우 2층의 발판에 도달함을 알 수 있다.
발판의 개수와 가장 높은 발판이 몇 층인지를 나타내는 정수 $N$과 $K$가 주어진다.
다음 줄부터 $N$개의 줄에 걸쳐 발판의 정보를 나타내는 정수 $L_i$, $R_i$, $K_i$가 주어진다. 이는 $i$번째 발판이 $L_i$에서 $R_i$까지의 구간으로 나타나며, $K_i$ 층에 위치하였음을 의미한다. 같은 층에 위치한 발판끼리 겹치는 경우는 없다. 1층과 $K$층에는 적어도 하나의 발판이 존재함이 보장된다.
1층의 임의의 발판에서 출발하여 $K$층의 임의의 발판에 도착하는 최소 점프 횟수를 출력한다. 만약 도달할 수 있는 방법이 없는 경우 -1을 출력한다.
9 4 1 5 1 1 2 2 4 7 2 8 10 2 1 6 3 9 10 3 1 4 4 8 12 1 8 12 4
1
University > 성균관대학교 > 2023 성균관대학교 프로그래밍 경진대회 H번