아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

강도

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

요약
시간별로 주어진 직사각형 관측 정보를 이용해, 한 칸 이하로 움직이는 도둑의 위치가 각 시각에 유일하게 정해지는지 판별한다.
난이도

보통10점 중 6점

유형
동적 계획법, 시뮬레이션, 행렬
정답자
아직 제출이 없습니다

문제

로브스톱 경위는 몹시 화가 났습니다. 어젯밤 은행이 털렸지만 범인은 아직 잡히지 않았고, 올해 들어 벌써 세 번째 사건입니다. 경위는 범인을 막기 위해 할 수 있는 모든 일을 했습니다. 도시 밖으로 나가는 모든 도로를 최대한 빨리 봉쇄해 범인이 탈출하지 못하게 만들었고, 모든 시민에게 범인을 감시해 달라고 부탁했습니다. 하지만 돌아온 제보는 "여기에는 없습니다."라는 내용뿐이었습니다.

이번에는 경위도 더 이상 참지 않기로 했습니다. 그는 범인이 어떻게 빠져나갈 수 있었는지 분석하려 하며, 여러분에게 프로그램 작성을 부탁합니다. 이 프로그램은 경위가 모은 모든 정보를 입력받아, 범인이 각 시각에 어디에 있었는지 알아내야 합니다.

우연히도 은행이 털린 도시는 직사각형 모양입니다. 도로는 일정 시간 tt 동안 봉쇄되며, 그동안 "시각 tit_i에 범인은 직사각형 RiR_i 안에 없었다"라는 형태의 관측이 여러 건 보고됩니다. 범인이 한 시간 단위마다 최대 한 칸만 움직일 수 있다고 가정할 때(제자리에 머물거나 상·하·좌·우 네 방향 중 한 칸으로 이동), 여러분의 프로그램은 각 시각마다 범인의 정확한 위치를 알아낼 수 있는 경우 그 위치를 구해야 합니다.

입력

입력은 여러 건의 사건(robbery) 설명으로 이루어집니다.

각 사건의 첫 줄에는 세 정수 WW, HH, tt (1≤W,H,t≤1001 \le W, H, t \le 100)가 주어집니다. WW는 도시의 너비, HH는 높이, tt는 도시가 봉쇄되는 시간입니다. 도시는 W×HW \times H 격자이며, 점 (1,1)(1, 1)이 왼쪽 위, 점 (W,H)(W, H)가 오른쪽 아래 모서리입니다.

다음 줄에는 경위가 받은 제보의 수를 나타내는 정수 nn (0≤n≤1000 \le n \le 100)이 주어집니다. 이어지는 nn개의 줄에는 각 제보에 대해 다섯 정수 tit_i, LiL_i, TiT_i, RiR_i, BiB_i가 주어집니다. tit_i는 관측이 이루어진 시각(1≤ti≤t1 \le t_i \le t)이고, LiL_i, TiT_i, RiR_i, BiB_i는 각각 관측된 직사각형 영역의 왼쪽, 위, 오른쪽, 아래 경계입니다(1≤Li≤Ri≤W1 \le L_i \le R_i \le W, 1≤Ti≤Bi≤H1 \le T_i \le B_i \le H). 이 제보는 시각 tit_i에 범인이 해당 직사각형(열 Li≤x≤RiL_i \le x \le R_i, 행 Ti≤y≤BiT_i \le y \le B_i) 안에 없었음을 의미합니다.

입력은 W=H=t=0W = H = t = 0인 사건으로 끝나며, 이 경우는 처리하지 않습니다.

출력

각 사건마다 먼저 "Robbery #k:" 줄을 출력합니다. 여기서 kk는 사건의 번호(1부터 시작)입니다. 그다음에는 세 가지 경우가 있습니다.

제보들을 고려할 때 범인이 여전히 도시 안에 있는 것이 불가능하다면, "The robber has escaped." 줄을 출력합니다.

그 외의 모든 경우에는 범인이 실제로 도시 안에 있다고 가정합니다. 정확한 위치를 알아낼 수 있는 각 시각에 대해 "Time step i: The robber has been at x,y." 형태의 줄을 하나씩 출력합니다. 여기서 ii는 시각, xx는 열, yy는 행입니다. 이 줄들은 시각 ii의 오름차순으로 출력합니다.

아무것도 알아낼 수 없다면 "Nothing known." 줄을 출력하고, 경위가 더 화내지 않기를 바랍니다.

각 사건을 처리한 뒤에는 빈 줄을 하나 출력합니다.

예제1

  1. 예제 1

    입력
    4 4 5
    4
    1 1 1 4 3
    1 1 1 3 4
    4 1 1 3 4
    4 4 2 4 4
    10 10 3
    1
    2 1 1 10 10
    0 0 0
    
    예상 출력
    Robbery #1:
    Time step 1: The robber has been at 4,4.
    Time step 2: The robber has been at 4,3.
    Time step 3: The robber has been at 4,2.
    Time step 4: The robber has been at 4,1.
    
    Robbery #2:
    The robber has escaped.