#P1104. Robbery

    ID: 105 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>模拟Mid-Central European Regional Contest 1999

Robbery

描述

检查员罗布斯托普非常生气。昨晚,一家银行遭到抢劫,而劫匪却逍遥法外。这已经是今年第三次发生这种事了,尽管他已经竭尽全力去阻止劫匪:他以最快的速度封锁了所有出城的道路,让劫匪无路可逃。然后,检查员要求城里的所有人留意劫匪的踪迹,但他收到的唯一消息都是 “我们没看到他” 这样的内容。

但这次,他受够了!检查员罗布斯托普决定分析一下劫匪是如何逃脱的。为此,他请你编写一个程序,利用检查员能得到的关于劫匪的所有信息,来找出劫匪在每个时间点的位置。

巧合的是,被抢劫银行所在的城市呈矩形。出城的道路会被封锁一段特定的时间 tt,在这段时间内,会收到一些形如 “在时间 tit_i 时,劫匪不在矩形 RiR_i 内” 的观察报告。假设劫匪在每个时间步最多移动一个单位,你的程序必须尝试找出劫匪在每个时间步的确切位置。

输入

输入包含多个抢劫案的描述。每个描述的第一行由三个数字 WWHHtt1W,H,t1001 \leq W,H,t \leq 100)组成,其中 WW 是城市的宽度,HH 是城市的高度,tt 是城市被封锁的时间。

接下来一行包含一个整数 nn0n1000 \leq n \leq 100),即检查员收到的消息数量。接下来的 nn 行(每条消息对应一行)每行由五个整数 tit_iLiL_iTiT_iRiR_iBiB_i 组成。整数 tit_i 是进行观察的时间(1tit1 \leq t_i \leq t),而 LiL_iTiT_iRiR_iBiB_i 分别是所观察的(矩形)区域的左边界、上边界、右边界和下边界。(1LiRiW1 \leq L_i \leq R_i \leq W1TiBiH1 \leq T_i \leq B_i \leq H;点 (1,1)(1, 1) 是城市的左上角,(W,H)(W, H) 是城市的右下角)。这些消息意味着在时间 tit_i 时,劫匪不在给定的矩形内。

输入以一个 W=H=t=0W = H = t = 0 开头的测试用例结束。这个用例不应被处理。

输出

对于每个抢劫案,首先输出一行 “Robbery #k:”,其中 kk 是抢劫案的编号。然后,有三种可能的情况:

如果根据收到的消息,劫匪不可能还在城市里,输出一行 “The robber has escaped.”。

在所有其他情况下,假设劫匪确实还在城市里。对于每个能够推断出劫匪确切位置的时间步,输出一行形如 “Time step jj: The robber has been at x,yx,y.” 的内容。(xxyy 分别是在时间步 jj 时劫匪所在的列和行)。按时间 jj 顺序输出这些行。

如果无法推断出任何信息,输出一行 “Nothing known.”,并希望检查员不会更加生气。

在每个处理完的用例之后输出一个空行。

输入示例

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.

来源

1999 年中欧中部地区竞赛