我试图在2D数组8X8网格上计算所有路径,并让算法遍历网格上的所有方格并配置最短路径。
见以下代码:
public static int Mileage(int[,] arr, int x, int y, int miles)
{
if (x < 0 || y < 0 || x > 5 || y > 5 || arr[x, y] == 2) return 99;
if (arr[x, y] == 1) return miles;
arr[x, y] = 2;
miles++;
Console.WriteLine(miles);
int want2 = Math.Min(Mileage(arr, x - 1, y, miles), Mileage(arr, x + 1, y, miles));
int want1 = Math.Min(Mileage(arr, x, y - 1, miles), Mileage(arr, x, y + 1, miles));
return Math.Min(want1, want2);
}
发布于 2018-06-14 19:22:55
测量距离的最好方法是毕达哥拉斯定理。这就是你如何获得最短路径。然后,你只需要关闭网格线,以便在网格上应用该方式。
https://stackoverflow.com/questions/-100005396
复制相似问题