1792:迷宮
總時間限制: 3000ms 記憶體限制: 65536kb
描述一天extense在森林裡探險的時候不小心走入了乙個迷宮,迷宮可以看成是由n * n的格點組成,每個格點只有2種狀態,.和#,前者表示可以通行後者表示不能通行。同時當extense處在某個格點時,他只能移動到東南西北(或者說上下左右)四個方向之一的相鄰格點上,extense想要從點a走到點b,問在不走出迷宮的情況下能不能辦到。如果起點或者終點有乙個不能通行(為#),則看成無法辦到。
輸入第1行是測試資料的組數k,後面跟著k組輸入。每組測試資料的第1行是乙個正整數n (1 <= n <= 100),表示迷宮的規模是n * n的。接下來是乙個n * n的矩陣,矩陣中的元素為.或者#。再接下來一行是4個整數ha, la, hb, lb,描述a處在第ha行, 第la列,b處在第hb行, 第lb列。注意到ha, la, hb, lb全部是從0開始計數的。
輸出k行,每行輸出對應乙個輸入。能辦到則輸出「yes」,否則輸出「no」。
樣例輸入
2
3.##
..##..
0 0 2 2
5.....
###.#
..#..
###..
...#.
0 0 4 0
樣例輸出
yes
no
一天晚上晚自習準備刷題,一開始看到這個題 大喜 ,覺得今晚上可以刷一些搜尋的題目,因為題意比較簡單 而且還是經典題型,
可是 整整花了兩個多小時時間 去找錯誤,理解題意 真是有個坑啊 ,太坑了 坑的我都想爆粗口了 心裡面一萬個mmp。
呃,還是寫篇文章 記錄下這次這個坑,讓我以後長個教訓,讓同樣在遨遊在題海中兄弟們少走點彎路
#include #include #include #include #include #include using namespace std;
const int maxx = 1005;
int cors[5] = ; //x
int stra[5] = ; //y
int m,n;
int ha,la,hb,lb,f;
void dfs(int a,int b)
if(a == hb && b == lb)
for(int i = 1;i <= 4;i++) }}
int main()
} cin >> ha >> la >> hb >> lb;
cout << "no" << endl;
continue;
} dfs(ha,la);
if(f == 1)else
} return 0;
}
迷宮問題 (經典dfs)
題目 迷宮問題,給你乙個n m的矩陣,其中0代表通路,1代表阻塞。給你起點座標和終點座標,詢問 最小路徑從起點到達終點。題目分析 一般問你最小的基本都是dfs或者bfs,再其次,能用bfs的基本都能用dfs 個人理解 include include include include using nam...
zcmu 1185 走迷宮 dfs經典題
time limit 1 sec memory limit 128 mb submit 379 solved 153 submit status web board 給一張個迷宮,問能否從起點走到終點,只能往上下左右走,不能斜著走 多組測試資料,每組第一行兩個正整數,分別為n和m 表示n這個迷宮有n...
迷宮問題dfs
迷宮問題 棧作為深度優先遍歷 dfs 採用的搜尋方法的特點是盡可能先對縱深方向進行搜尋 可以最快的找到解 include define m 8 define n 8 define maxsize 1000 typedef struct box typedef struct sttype 迷宮問題常用...