C# 计算网格上的最短路径
我尝试在2D阵列8X8网格上计算所有路径,并让算法遍历网格上的所有正方形,并配置最短路径 见下面的代码:C# 计算网格上的最短路径,c#,multidimensional-array,C#,Multidimensional Array,我尝试在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; ar
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);
}
公共静态整数英里数(整数[,]arr,整数x,整数y,整数英里)
{
如果(x<0 | y<0 | x>5 | y>5 | arr[x,y]==2)返回99;
如果(arr[x,y]==1)返回英里数;
arr[x,y]=2;
迈尔斯++;
控制台写入线(英里);
int want2=数学最小值(英里数(arr,x-1,y,miles),英里数(arr,x+1,y,miles));
int want1=Math.Min(里程(arr,x,y-1,英里),里程(arr,x,y+1,英里);
返回Math.Min(want1、want2);
}
问题是?到什么的最短路径?你需要一个*算法*\u搜索算法