网格没有障碍,两点间最短路就是曼哈顿距离。必访点是所有非 0 格子,起点和终点都是中心,因此是带固定起点的 TSP。
给定 n 行 m 列的格子,从中心出发,访问所有非 0 格子至少一次后再回到中心,求最少步数。每次可向上下左右走一格,计为一步。中心为第 ⌊n/2⌋ 行、第 ⌊m/2⌋ 列(行列下标从 0 开始)。
第一行两个奇数 n 和 m。
接下来 n 行,每行 m 个整数,表示格子上的值。
输出一个整数,表示最少步数。
输入:
3 3
1 0 0
0 1 0
1 0 0
输出:
6
说明:中心为 (1,1)。一条最优路线为中心 →(0,0)→(2,0)→ 中心,曼哈顿距离分别为 2、2、2,总步数 6。
本题属于以下题库,请选择所需题库进行购买
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.