NN중 슬릿 실험

면접 대비

시간 제한1초메모리 제한1024 MB

요약
각 가로벽에 구멍이 하나씩 있는 N중 슬릿에서 (0,0)에서 (0,N+1)까지 가는 최단 경로의 길이를 구한다.
난이도

보통10점 중 6점

유형
기하, 최단 경로, 동적 계획법
정답자
아직 제출이 없습니다

문제

당신은 가로 길이가 2M2M이고 세로 길이가 N+1N+1인 직사각형에서 NN중 슬릿 실험을 하려 한다. 직사각형의 맨 왼쪽 아래는 (−M,0)(-M, 0)이며 맨 오른쪽 위는 (M,N+1)(M, N+1)이다.

NN중 슬릿 실험은 직사각형 내부에 NN개의 슬릿을 놓고 시행한다. ii번째 슬릿은 (−M,i)(-M, i)부터 (M,i)(M, i)까지를 잇는 선분 형태의 벽이며 (a_i,i)(a\_{i}, i)부터 (b_i,i)(b\_{i}, i)까지 구멍이 뚫려 있다.

피실험체는 초당 11의 속력으로 (0,0)(0, 0)에서 출발해 직사각형의 내부를 통해 (0,N+1)(0, N+1)까지 최단 경로로 이동한다. 피실험체가 (0,0)(0, 0)에서 출발해 (0,N+1)(0, N+1)까지 이동하는 데 몇 초가 걸리는지 구하여라.

피실험체는 출발지와 도착지를 제외하고는 직사각형의 어떤 변도 지날 수 없으며 벽이 있는 곳 역시 지날 수 없다. 벽의 두께와 피실험체의 크기 등은 무시한다.

입력

첫째 줄에 MM과 NN이 공백으로 구분되어 주어진다. (1≤M≤106;1 \le M \le 10^{6}; 1≤N≤1001 \le N \le 100)

이후 NN개 줄에 걸쳐 그중 ii번째 줄에는 a_ia\_{i}와 b_ib\_{i}가 공백으로 구분되어 주어진다. (−M≤a_i<b_i≤M-M \le a\_{i} \lt b\_{i} \le M)

입력으로 주어지는 모든 수는 정수이다.

출력

피실험체가 (0,0)(0, 0)에서 출발해 (0,N+1)(0, N+1)까지 이동하는 데 몇 초가 걸리는지 출력한다. 절대/상대 오차는 10−610^{-6}까지 허용한다.

예제1

  1. 예제 1

    입력
    3 5
    -3 -1
    0 1
    -3 3
    -2 3
    -3 -2
    
    예상 출력
    8.67004637771