拯救猫猫
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
库若猫误入了狗群守护的街区,他需要你的帮助!
街区是一个 的网格。每个格子可能是空地、障碍物或狗。每只狗朝向固定的方向(上、下、左或右),它的视线会沿其正前方延伸,直到被障碍物或另一只狗阻挡。
库若猫被困在起点 ,必须从街区出口 逃脱,他的移动遵循以下规则:
- 每一步只能移动到相邻的四个空格(上、下、左、右)之一
- 不能跨越网格边界
- 不能进入任何狗的视线范围内
- 不能经过狗或障碍物所在的格子
你可以让一只狗睡着。睡着的狗会失去视线,但库若猫仍然不能经过它。请判断是否存在一种方案,使得库若猫能够顺利到达出口:如果存在,找出这只狗的坐标。
保证网格中至少存在一只狗,起点 和出口 是空地且不在任何狗的视线内。
输入格式
每个测试文件包含多组测试数据。输入的第一行包含一个整数 ( ) 表示测试数据的数量。
每个测试数据的第一行包含两个整数 n 和 m ( ),表示网格的行数和列数。
接下来的 行,每行包含一个长度为 的字符串,表示街区的布局:
.表示空地#表示障碍物E表示街区出口S表示库若猫的起点U、D、L、R表示朝向分别为上,下,左,右的狗
保证所有测试数据中 和 的总和均不超过 2000。
输出格式
对于每组测试数据:
- 如果不存在让库若猫逃脱的方案,输出用空格分隔的两个
-1。 - 否则,输出用空格分隔的整数 和 ( ),表示被选定睡着的狗的行坐标和列坐标。如果存在多种方案,优先选择行坐标 最小的方案;若行坐标相同,优先选择列坐标 最小的方案。
3
7 7
.D....E
...#..L
..#...L
.#.L..D
....#..
#.L....
S...#.L
3 3
..E
R.L
S..
4 4
.D.E
....
.D..
S...
1 2
-1 -1
1 2
解释 #1
网格的行从上到下编号为 到 ,列从左到右编号为 到 。
2026 年中国大学生程序设计竞赛全国邀请赛(秦皇岛)暨第十届河北省大学生程序设计竞赛
- 状态
- 已结束
- 规则
- XCPC
- 题目
- 13
- 开始于
- 2026-5-24 8:30
- 结束于
- 2026-5-24 13:30
- 持续时间
- 5 小时
- 主持人
- 参赛人数
- 0