小鼠a與小鼠b身處乙個m×n的迷宮中,如圖所示。每乙個方格表示迷宮中的乙個房間。這m×n個房間中有一些房間是封閉的,不允許任何人進入。在迷宮中任何位置均可沿上,下,左,右4個方向進入未封閉的房間。小鼠a位於迷宮的(p,q)方格中,它必須找出一條通向小鼠b所在的(r,s)方格的路。請幫助小鼠a找出所有通向小鼠b的最短道路。
請程式設計對於給定的小鼠的迷宮,計算小鼠a通向小鼠b的所有最短道路。
本題有多組輸入資料,你必須處理到eof為止。
每組資料的第一行有3個正整數n,m,k,分別表示迷宮的行數,列數和封閉的房間數。
接下來的k行中,每行2個正整數,表示被封閉的房間所在的行號和列號。
最後的2行,每行也有2個正整數,分別表示小鼠a所處的方格(p,q)和小鼠b所處的方格(r,s)。
對於每組資料,將計算出的小鼠a通向小鼠b的最短路長度和有多少條不同的最短路輸出。
每組資料輸出兩行,第一行是最短路長度;第2行是不同的最短路數。
每組輸出之間沒有空行。
如果小鼠a無法通向小鼠b則輸出「no solution!」。
8 8 33 34 5
6 62 1
7 7
11noi』2005福建省選手選拔賽96
#include#include#include#include#includeusing namespace std;
struct node
a,b;
int jx = ;
int jy = ;
int v[101][101];
int map[101][101];
int n,m,k;
int flag;
int ans;
int psum;
void dfs(int xx,int yy,int cnt)
if(xx == b.x && yy == b.y)
{if(cnt=0 && xx+jx[i]=0 && yy+jy[i]
sdut 1157 小鼠迷宮
小鼠a與小鼠b身處乙個m n的迷宮中,如圖所示。每乙個方格表示迷宮中的乙個房間。這m n個房間中有一些房間是封閉的,不允許任何人進入。在迷宮中任何位置均可沿上,下,左,右4個方向進入未封閉的房間。小鼠a位於迷宮的 p,q 方格中,它必須找出一條通向小鼠b所在的 r,s 方格的路。請幫助小鼠a找出所有...
SDUT1157 小鼠迷宮問題 bfs dfs
小鼠a與小鼠b身處乙個m n的迷宮中,如圖所示。每乙個方格表示迷宮中的乙個房間。這m n個房間中有一些房間是封閉的,不允許任何人進入。在迷宮中任何位置均可沿上,下,左,右4個方向進入未封閉的房間。小鼠a位於迷宮的 p,q 方格中,它必須找出一條通向小鼠b所在的 r,s 方格的路。請幫助小鼠a找出所有...
小鼠迷宮問題
問題描述 小鼠a與小鼠b身處乙個m n的迷宮中,如圖所示。每乙個方格表示迷宮中的乙個房間。這m n個房間中有一些房間是封閉的,不允許任何人進入。在迷宮中任何位置均可沿上,下,左,右4個方向進入未封閉的房間。小鼠a位於迷宮的 p,q 方格中,它必須找出一條通向小鼠b所在的 r,s 方格的路。請幫助小鼠...