給定乙個n行m列的01矩陣a,a[i][j] 與 a[k][l] 之間的曼哈頓距離定義為:
dist(a[i][j],a[k][l])=|i−k|+|j−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])
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≤10001≤n,m≤1000
輸入樣例:
3 40001
0011
0110
輸出樣例:
3 2 1 0
2 1 0 0
1 0 0 1
#include
#define x first
#define y second
using
namespace std;
typedef pair<
int,
int> pii;
const
int n =
1010
;int n, m;
char g[n]
[n];
int dist[n]
[n];
void
bfs(
), dy[4]
=;memset
(dist,-1
,sizeof dist)
;int hh =
0, tt =-1
;for
(int i =
1; i <= n; i ++
)for
(int j =
1; j <= m; j ++)if
(g[i]
[j]==
'1'));
}while
(q.size()
));}
}}intmain()
return0;
}
矩陣距離(多源BFS)
題目描述 給定乙個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。...
AcWing 173 矩陣距離 多源bfs模板
acwing 173.矩陣距離 給定乙個n行m列的01矩陣a,a i j 與 a k l 之間的曼哈頓距離定義為 d is t a i j a k l i k j l dist a i j a k l i k j l dist a i j a k l i k j l 輸出乙個n行m列的整數矩陣b,其...
演算法競賽 多源BFS
多源bfs與單源bfs有什麼區別呢?如何解決多源bfs?多源bfs 多個起點 多個起點同時加入佇列!核心 在求解多源bfs問題時,同時將所有起點加入佇列即可!題目鏈結 173.矩陣距離 acwing題庫 給定乙個 nn 行 mm 列的 0101 矩陣 aa,a i j 與a k l 之間的曼哈頓距離...