洛谷日記 Day 3 BFS模板

2021-09-24 23:00:12 字數 1111 閱讀 2472

一篇廣度優先搜尋的模板題,很簡單,適合我這種菜雞去刷。

有乙個僅由數字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

0110

1 12 2

輸出樣例#1:複製

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個整數,表示乙個操作,具體如下...