题目名称 | 44. [CTSC 1999] 拯救大兵瑞恩 |
---|---|
输入输出 | rescue.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 5 |
题目来源 | BYVoid 于2008-07-07加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:113, 提交:259, 通过率:43.63% | ||||
槿柒 | 100 | 0.000 s | 0.00 MiB | C++ |
Youngsc | 100 | 0.000 s | 0.00 MiB | C++ |
op_组撒头屯 | 100 | 0.000 s | 0.00 MiB | C++ |
yrtiop | 100 | 0.000 s | 0.00 MiB | C++ |
Chtholly | 100 | 0.000 s | 0.00 MiB | C++ |
TARDIS | 100 | 0.001 s | 0.29 MiB | C++ |
诺亚 | 100 | 0.001 s | 0.57 MiB | C++ |
金身人面兽 | 100 | 0.001 s | 1.09 MiB | C++ |
该账号已注销 | 100 | 0.001 s | 1.30 MiB | C++ |
Makazeu | 100 | 0.002 s | 0.76 MiB | C++ |
关于 拯救大兵瑞恩 的近10条评论(全部评论) | ||||
---|---|---|---|---|
BFS
| ||||
在本地完美运行,
但是为何交上去第一点就RE了??(第一个点就是样例!!) | ||||
妈的一个位置可以有好多个钥匙...
第4个点好坑... | ||||
竟然毁在M,N上了 有一个数据太坑了,一个点好多钥匙... 论不看评论的危害 | ||||
有一个数据太坑了,一个点好多钥匙...
| ||||
竟然毁在M,N上了
SOBER GOOD BOY
2016-09-15 14:26
13楼
| ||||
四维数组相当好用呀@Cir
Magic_Sheep
2016-08-13 19:20
12楼
| ||||
位运算表状态的搜索水题,居然因为忘记到达不了的输出-1而WA一次。。
_Itachi
2016-08-13 06:34
11楼
| ||||
| ||||
暴力也可以啊
|
$1944$年,特种兵麦克接到国防部的命令,要求立即赶赴太平洋上的一个孤岛,营救被敌军俘虏的大兵瑞恩。瑞恩被关押在一个迷宫里,迷宫地形复杂,但是幸好麦克得到了迷宫的地形图。
迷宫的外形是一个长方形,其在南北方向被划分为$N$行,在东西方向被划分为$M$列,于是整个迷宫被划分为$N*M$个单元。我们用一个有序数对(单元的行号,单元的列号)来表示单元位置。南北或东西方向相邻的两个单元之间可以互通,或者存在一扇锁着的门,又或者存在一堵不可逾越的墙。迷宫中有一些单元存放着钥匙,并且所有的门被分为$P$类,打开同一类的门的钥匙相同,打开不同类的门的钥匙不同。
大兵瑞恩被关押在迷宫的东南角,即$(N,M)$单元里,并已经昏迷。迷宫只有一个入口,在西北角,也就是说,麦克可以直接进入$(1,1)$单元。另外,麦克从一个单元移动到另一个相邻单元的时间为$1$,拿取所在单元的钥匙的时间以及用钥匙开门的时间忽略不计。
你的任务是帮助麦克以最快的方式抵达瑞恩所在单元,营救大兵瑞恩。
第一行是三个整数,依次表示$N,M,P$的值;
第二行是一个整数$K$,表示迷宫中门和墙的总个数;
第$I+2$行$(1<=I<=K)$,有$5$个整数,依次为$Xi_1,Yi_1,Xi_2,Yi_2,G_i$:
当$G_i>=1$时,表示$(Xi_1,Yi_1)$单元与$(Xi_2,Yi_2)$单元之间有一扇第$G_i$类的门,当$G_i=0$时,表示$(Xi_1,Yi_1)$单元与$(Xi_2,Yi_2)$单元之间有一堵不可逾越的墙;
(其中,$|Xi_1-Xi_2|+|Yi_1-Yi_2|=1,0<=G_i<=P$)
第$K+3$行是一个整数$S$,表示迷宫中存放的钥匙总数;
第$K+3+E$行$(1<=E<=S)$,有$3$个整数,依次为$Xi_1,Yi_1,Q_i$:表示第$E$把钥匙存放在$(Xi_1,Yi_1)$单元里,并且第$E$把钥匙是用来开启第$Q_i$类门的。(其中$1<=Q_i<=P$)
注意:输入数据中同一行各相邻整数之间用一个空格分隔。
输出文件只包含一个整数T,表示麦克营救到大兵瑞恩的最短时间的值,若不存在可行的营救方案则输出$-1$。
4 4 9 9 1 2 1 3 2 1 2 2 2 0 2 1 2 2 0 2 1 3 1 0 2 3 3 3 0 2 4 3 4 1 3 2 3 3 0 3 3 4 3 0 4 3 4 4 0 2 2 1 2 4 2 1
14
$3<=N,M<=15;1<=P<=10;$