一篇廣度優先搜尋的模板題,很簡單,適合我這種菜雞去刷。
有乙個僅由數字0與1組成的 n×n格迷宮。若你位於一格0上,那麼你可以移動到相鄰44格中的某一格1上,同樣若你位於一格1上,那麼你可以移動到相鄰4格中的某一格0上。
你的任務是:對於給定的迷宮,詢問從某一格開始能移動到多少個格仔(包含自身)。
輸入格式:
第1行為兩個正整數n,m。
下面nn行,每行n個字元,字元只可能是0或者1,字元之間沒有空格。
接下來m行,每行22個用空格分隔的正整數i,j,對應了迷宮中第i行第j列的乙個格仔,詢問從這一格開始能移動到多少格。
輸出格式:
m行,對於每個詢問輸出相應答案。
輸入樣例#1:複製
2 2輸出樣例#1:複製0110
1 12 2
4所有格仔互相可達。4
對於20%的資料,n≤10;
對於40%的資料,n≤50;
對於50%的資料,m≤5;
對於60%的資料,n≤100,m≤100;
對於100%的資料,n≤1000,m≤100000。
簡單的廣度優先搜尋,直接套模板就可以ac的題。需要注意的就是讀取迷宮地圖資料時需要使用char存入資料。在就是注意一下匹配規則為相鄰的不同的字元。其他就是套模板了。
#include//萬用標頭檔案
using namespace std;
const int maxn=1010;
char a[maxn][maxn];
int visit[maxn][maxn];
int flag[maxn*maxn];
struct node;
int w[4][2]=,,,};
int main()
} int x,y;
int d=0;
while(m--)
}} flag[d]=ans;
cout<} return 0;
}
洛谷日記 Day 3 DFS模板
發一篇深度優先搜尋的模板 吧!蒟蒻沒什麼廢話要多說,直接發題。迷宮 問題描述 給定乙個n m方格的迷宮,迷宮裡有t處障礙,障礙處不可通過。給定起點座標和 終點座標,問 每個方格最多經過1次,有多少種從起點座標到終點座標的方案。在迷宮 中移動有上下左右四種方式,每次只能移動乙個方格。資料保證起點上沒有...
洛谷日記 Day 6
這題涉及大量的插入 刪除操作,一開始想使用簡單的陣列模擬,但是後面涉及插入和刪除操作,就徹底放棄了這個念頭,於是乎決定使用雙端迴圈鍊錶去解決這題。需要注意的是文中提及到的front指標和front結點 next指標和next結點的區別,這裡提一下,在下面的閱讀中請注意區別。next結點和next指標...
AC日記 模板 線段樹 1 洛谷 P3372
如題,已知乙個數列,你需要進行下面兩種操作 1.將某區間每乙個數加上x 2.求出某區間每乙個數的和 輸入格式 第一行包含兩個整數n m,分別表示該數列數字的個數和操作的總個數。第二行包含n個用空格分隔的整數,其中第i個數字表示數列第i項的初始值。接下來m行每行包含3或4個整數,表示乙個操作,具體如下...