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