A6415 | 「USACO 2017.12 Platinum」Push a Box
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
**题目译自 [USACO 2017 December Contest, Platinum](http://usaco.org/index.php?page=dec17results) Problem 2. [Push a Box](http://usaco.org/index.php?page=viewproblem2&cpid=769)**
一个谷仓是一个 $N \times M$ 的矩形网格,有一些网格里有干草。 Bessie 站在其中一个格子内,还有一个格子里有一个大木箱。 Bessie 不能和大木箱在一个格子里,也不能和干草在一个格子里。
如果她不与干草在同一个格子,她就可以往自己旁边的四个方向(东西南北)移动,如果她想移动到有木箱的格子里,那个木箱就会被她推一格(只要木箱的那个方向还有空间),如果没有空间,那 Bessie 就不能移动了。
给你谷仓的布局(空格子,干草以及木箱位置)以及 Bessie 的出发位置和箱子要被推到的位置,请你帮忙计算 Bessie 能不能把木箱推到指定位置。
一个谷仓是一个 $N \times M$ 的矩形网格,有一些网格里有干草。 Bessie 站在其中一个格子内,还有一个格子里有一个大木箱。 Bessie 不能和大木箱在一个格子里,也不能和干草在一个格子里。
如果她不与干草在同一个格子,她就可以往自己旁边的四个方向(东西南北)移动,如果她想移动到有木箱的格子里,那个木箱就会被她推一格(只要木箱的那个方向还有空间),如果没有空间,那 Bessie 就不能移动了。
给你谷仓的布局(空格子,干草以及木箱位置)以及 Bessie 的出发位置和箱子要被推到的位置,请你帮忙计算 Bessie 能不能把木箱推到指定位置。
输入格式
第一行有三个数 $N,M,Q$,其中 $N$ 是谷仓的行数,$M$ 是列数,$Q$ 是询问数。
接下来 $N$ 行是谷仓的初始布局,其中
接下来 $Q$ 行,每行一个坐标 $(R,C)$ ,代表第 $R$ 行第 $C$ 行。对于每行,你要输出 Bessie 是否有可能把箱子推到这个位置。
接下来 $N$ 行是谷仓的初始布局,其中
. 代表空格子, # 代表干草格子, A 代表 Bessie 的初始位置, B 是木箱的初始位置。接下来 $Q$ 行,每行一个坐标 $(R,C)$ ,代表第 $R$ 行第 $C$ 行。对于每行,你要输出 Bessie 是否有可能把箱子推到这个位置。
输出格式
$Q$ 行,每行一个答案,如果 Bessie 能走到,输出
YES ,否则输出 NO 。输入输出样例
输入 #1
5 5 4 ##.## ##.## A.B.. ##.## ##.## 3 2 3 5 1 3 5 3
输出 #1
NO YES NO NO
对于 $100\%$ 的数据,保证 $1≤N,M≤1500,1≤Q≤50000$ 。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?