#P1024. Tester Program

    ID: 25 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>搜索Tehran 2002First Iran Nationwide Internet Programming Contest

Tester Program

📘 题目描述(中文)

原始问题(你不需要解这个问题,只需要验证别人的输出是否正确) 在 ACM/ICPC 比赛中,我们常见的题目是“在一个迷宫中找最短路径”。但现在,我们反过来问一个问题:

“给定一条路径,能否构造一个迷宫,让这条路径成为从起点到终点的唯一最短路径?”

我们将路径定义为:从迷宫的左下角 (0,0)(0, 0) 开始,一串移动方向构成的字符串(例如 RRRUULL)。你可以在一个 W×HW \times H 的方格上移动,只允许上下左右(U、D、L、R)移动。

你需要构造一些单位长度的墙(baffle),来阻止其它路径,从而确保你给定的路径是唯一最短路径。

但有个限制:

不能有冗余的墙:即不能移除任何一面墙而仍然保持路径唯一。

✅ 你的任务

我们懒得写这个“路径唯一性验证”的程序……所以现在请你来帮我们写!

你将读取:

原始问题的输入数据(迷宫大小、路径)

以及对该输入数据的“输出结果”(墙的数量 + 墙的定义)

请你判断,这个输出是否是正确的。

</p>

🧾 输入格式 你从标准输入中读取所有内容,格式如下:

第 1 行是一个整数 tt1t101 \leq t \leq 10),表示测试用例个数。

对于每个测试用例:

1 行:两个整数 WWHH(迷宫的宽高)

1 行:路径字符串(由 U, D, L, R 构成)

1 行:一个整数 MM,表示墙的数量

接下来的 MM 行,每行 4 个整数:x1,y1,x2,y2x_1, y_1, x_2, y_2 表示墙连接了 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2),两点必须是相邻的(上下或左右)

📤 输出格式

对于每个测试用例,输出一行:

若该输出能使给定路径成为从起点 (0,0)(0, 0) 到终点的唯一最短路径,且没有冗余墙 → 输出 CORRECT

否则输出 INCORRECT

2
8 5
RRRUULLURRRRDDRRUUU
19
0 0 0 1
1 0 1 1
2 0 2 1
2 1 3 1
3 0 4 0
3 1 4 1
3 2 4 2
3 2 3 3
2 2 2 3
4 2 4 3
0 3 0 4
1 3 1 4
2 3 2 4
3 3 3 4
4 3 4 4
5 3 5 4
5 3 6 3
5 2 6 2
6 1 6 2
4 3
RRRUU
2
2 2 3 2
2 2 2 1
CORRECT
INCORRECT