YCOJ迷宮解的方案數

2021-09-10 22:55:11 字數 730 閱讀 3407

題目

description

input

第一行輸入兩個整數 n(1 ≤ n ≤ 11), m(1 ≤ m ≤ 11).表示迷宮的行和列。

然後有乙個 n × m 的地圖,地圖由'.'、'#'、's'、'e'這四個部分組成。'.'表示可以通行的路,'#'表示迷宮的牆,'s'表示起始點,'e'表示終點。

output

輸出乙個整數,表示從's'到達'e'的所有方案數。

sample input 1

5 5s####

.####

.####

.####

....e

sample output 1

1

一看這種關於迷宮的題,十有**都是深搜(這不廢話嗎?)。

所以就開始dfs的老套路,4個方向輪番擴充套件,再把方案數加到一起,輸出就行了。

話不多說,上**:

#include using namespace std;

string mp[100];

int n,m,tx,ty,sx,sy;

int dir[4][2]=,,,};

bool in(int x,int y)

if(mp[i][j]=='e')

} }

cout << dfs(sx,sy);

return 0;

}

dp迷宮方案數

帕秋莉掌握了一種木屬性魔法 這種魔法可以生成一片森林 類似於迷陣 但一次實驗時,帕秋莉不小心將自己困入了森林 帕秋莉處於地圖的左下角,出口在地圖右上角,她只能夠向上或者向右行走 現在給你森林的地圖,保證可以到達出口,請問有多少種不同的方案 答案對2333取模 第一行兩個整數m n表示森林是m行n列 ...

C 編寫的棧解迷宮程式

檔名 maze.cpp by leon on nov 17th,2006 說明 本程式以迷宮問題進行演示,了解棧和鍊錶的資料結構.執行過程 由於未詳細設計演算法,故地圖較簡單 演示找到出口路徑的過程.主要演算法思想 1.初始化迷宮,構造輔助執行棧和結果鍊錶 2.從入口開始 do else else ...

棧的應用 DFS解迷宮問題

深度優先搜尋dfs求解迷宮問題 找到迷宮的可行路徑的座標,這是乙個搜尋遍歷問題。實現思路 可行的路徑儲存在路徑向量p中,從當前點尋找可行方向,如果可行則next入棧,不行則出棧退回前一點。搜尋可行路徑的 while p.empty 下乙個點 p.back direction if maze next...