首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >网格上最短路径的计算?

网格上最短路径的计算?
EN

Stack Overflow用户
提问于 2018-06-14 10:21:32
回答 1查看 0关注 0票数 0

我试图在2D数组8X8网格上计算所有路径,并让算法遍历网格上的所有方格并配置最短路径。

见以下代码:

代码语言:txt
复制
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);

}
EN

回答 1

Stack Overflow用户

发布于 2018-06-14 19:22:55

测量距离的最好方法是毕达哥拉斯定理。这就是你如何获得最短路径。然后,你只需要关闭网格线,以便在网格上应用该方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档