餐馆最短距离
Posted beiyeqingteng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了餐馆最短距离相关的知识,希望对你有一定的参考价值。
有个N叉树是个大食堂的地图。节点有的是餐馆,有的不是,在输入里面用boolean表示了。每个父节点到子节点的距离都是一。你作为一个吃货,从根节点出发,要去所有的餐馆尝尝,需要的最短路径是多少。
楼主DFS返回两个量,一个是这个节点为根的树要吃完需要的走多长的路,另一个是一个flag表示这个子树里面有没有餐馆。
这个题有点类似蠡口865,每个node都返回{b, d}
b--本子树是否包含餐馆
d-- 从该点遍历其子树内所有餐馆再回到自身所需要的距离d
做后序遍历,也就是先得到左右子树的返回值left, right
如果该子树包含餐馆,本Node d += (left.d + 2)(如果有餐馆) + (right.d + 2)(如果有餐馆)
b = left.b || right.b || 自身是否是餐馆
以上是关于餐馆最短距离的主要内容,如果未能解决你的问题,请参考以下文章
sql (mysql)怎么实现查询某一个经纬度周围500米距离的餐馆,数据库存放所有餐馆的经纬度?