普及練習場 深度優先搜尋 P1605 迷宮

2021-10-02 23:26:58 字數 892 閱讀 7183

題目描述

給定乙個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。...