演算法競賽高階指南 矩陣距離 廣搜

2021-09-26 01:09:38 字數 759 閱讀 2557

題目

給定乙個n行m列的01矩陣a,a[i][j] 與 a[k][l] 之間的曼哈頓距離定義為:

dist(a[i][j],a[k][l])=|i−k|+|j−l|
輸出乙個n行m列的整數矩陣b,其中:

b[i][j]=min1≤x≤n,1≤y≤m,a[x][y]=1dist(a[i][j],a[x][y])
輸入格式

第一行兩個整數n,m。

接下來乙個n行m列的01矩陣,數字之間沒有空格。

輸出格式

乙個n行m列的矩陣b,相鄰兩個整數之間用乙個空格隔開。

資料範圍

1≤n,m≤1000

輸入樣例:

3 4

0001

0011

0110

輸出樣例:
3 2 1 0

2 1 0 0

1 0 0 1

分析:

**

#include #include #include #include using namespace std; 

const int n=1e3+5;

typedef pairpii;

int dis[n][n];

int n,m;

char g[n][n];

void bfs()

cout<} return 0;

}

CH 2501 矩陣距離(高階指南,廣搜)

演算法競賽高階指南,115 頁,廣搜的常規題目 本題要點 1 用 pair 儲存座標點 x和y座標 先把矩陣a中的 1 點的曼哈頓距離設定為0,其餘的點設定為無窮大 2 先把所有的 曼哈頓距離為0的點 x,y 加入佇列queue,然後其上下左右四個座標點 x dx i y dy i 如果不超出範圍,...

《演算法競賽高階指南》奶牛矩陣

每天早上,農夫約翰的奶牛們被 的時候,都會站成乙個r行c列的方陣。現在在每個奶牛的身上標註表示其品種的大寫字母,則所有奶牛共同構成了乙個r行c列的字元矩陣。現在給定由所有奶牛構成的矩陣,求它的最小覆蓋子矩陣的面積是多少。如果乙個子矩陣無限複製擴張之後得到的矩陣能包含原來的矩陣,則稱該子矩陣為覆蓋子矩...

《演算法競賽高階指南》 防曬

有c頭奶牛進行日光浴,第i頭奶牛需要minspf i 到maxspf i 單位強度之間的陽光。每頭奶牛在日光浴前必須塗防曬霜,防曬霜有l種,塗上第i種之後,身體接收到的陽光強度就會穩定為spf i 第i種防曬霜有cover i 瓶。求最多可以滿足多少頭奶牛進行日光浴。輸入格式 第一行輸入整數c和l。...