实验指导书
实验六 拯救大兵瑞恩
一、实验目的与要求
实验目的:锻炼数据结构、算法设计与实现能力
实验要求:
1、熟悉数据结构、离散数学、算法设计等课程。
2、对实验题目进行分析,选取适当的数据结构和算法设计方法。
3、进行程序编写和调试工作。
二、实验内容 1944年,特种兵麦克接到国防部的命令,要求立即赶赴太平洋上的一个孤岛,营救被敌军俘虏的大兵瑞恩。瑞恩被关押在一个迷宫里,迷宫地形复杂,但是幸好麦克得到了迷宫的地形图。
迷宫的外形是一个长方形,其在南北方向被划分为N行,在东西方向被划分为M列,于是整个迷宫被划分为N×M个单元。我们用一个有序数对(单元的行号,单元的列号)来表示单元位置。南北或东西方向相邻的两个单元之间可以互通,或者存在一扇锁着的门,又或者存在一堵不可逾越的墙。迷宫中有一些单元存放着钥匙,并且所有的门被分为P类,打开同一类的门的钥匙相同,打开不同类的门的钥匙不同。
大兵瑞恩被关押在迷宫的东南角,即(N,M)单元里,并已经昏迷。迷宫只有一个入口,在西北角,也就是说,麦克可以直接进入(1,1)单元。另外,麦克从一个单元移动到另一个相邻单元的时间为1,拿取所在单元的钥匙的时间以及用钥匙开门的时间忽略不计。
输入:
第一行是三个整数,依次表示N,M,P的值;(3≤N,M≤15,1≤P≤10) 第二行是一个整数K,表示迷宫中门和墙的总个数;
第i+2行(1≤i≤K),有5个整数,依次为Xi1,Yi1,Xi2,Yi2,Gi: