題目描述
給定乙個n*m(1≤n,m≤5)方格的迷宮,迷宮裡有t處障礙,障礙處不可通過。給定起點座標和終點座標,問: 每個方格最多經過1次,有多少種從起點座標到終點座標的方案。在迷宮中移動有上下左右四種方式,每次只能移動乙個方格。資料保證起點上沒有障礙。
輸入輸出格式
輸入格式:
第一行n、m和t,n為行,m為列,t為障礙總數。第二行起點座標sx,sy,終點座標fx,fy。接下來t行,每行為障礙點的座標。
輸出格式:
給定起點座標和終點座標,問每個方格最多經過1次,從起點座標到終點座標的方案總數。
輸入輸出樣例
輸入樣例#1:
2 2 1
1 1 2 2
1 2輸出樣例#1:
1————————————————
思路:深搜
#include
#include
#include
using
namespace std;
const
int maxn =
100;
int map[maxn]
[maxn]
;bool book[maxn]
[maxn]
;int dx[4]
=;int dy[4]
=;int ans,fx,fy,sx,sy,t,m,n,r,c;
void
dfs(
int x,
int y)
else}}
}int
main()
dfs(sx,sy)
;printf
("%d\n"
,ans)
;return0;
}
普及練習場 深度優先搜尋 P1019 單詞接龍
題目描述 單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 現兩次 在兩個單詞相連時,其重合部分合為一部分,例如 beast和astonish,如果接成一條龍則變為beastonish,另外相鄰的兩部...
普及練習場 深度優先搜尋 P1092 蟲食算
題目描述 所謂蟲食算,就是原先的算式中有一部分被蟲子啃掉了,需要我們根據剩下的數字來判定被啃掉的字母。現在,我們對問題做兩個限制 首先,我們只考慮加法的蟲食算。這裡的加法是n進製加法,算式中三個數都有n位,允許有前導的0。其次,蟲子把所有的數都啃光了,我們只知道哪些數字是相同的,我們將相同的數字用相...
普及練習場 廣度優先搜尋 P1141 01迷宮
題目描述 有乙個僅由數字0與1組成的n n格迷宮。若你位於一格0上,那麼你可以移動到相鄰4格中的某一格1上,同樣若你位於一格1上,那麼你可以移動到相鄰4格中的某一格0上。你的任務是 對於給定的迷宮,詢問從某一格開始能移動到多少個格仔 包含自身 輸入輸出格式 輸入格式 輸入的第1行為兩個正整數n,m。...