wcavell

wcavell

V2EX 第 112278 号会员,加入于 2015-04-21 13:49:45 +08:00
wcavell 最近回复了
2020-12-12 08:16:36 +08:00
回复了 systemcall 创建的主题 Android 雷鸟的 R625c 有办法刷机或者是 root 吗?
我家的电视用 360 root 的
问完就一击脱离,攒
2020-07-25 11:49:26 +08:00
回复了 BoarBoar 创建的主题 程序员 求教大佬 android 的.so 动态库可以在 x86 服务器上使用吗?
你可以试一下 unidbg
2019-06-07 16:15:08 +08:00
回复了 wcavell 创建的主题 Python 有没有老哥帮我看一看代码啊,dijkstra 实现最短路径的问题.
已经解决了,最后发现是一个返回值的问题,代码逻辑没有问题
2019-06-07 13:56:46 +08:00
回复了 wcavell 创建的主题 Python 有没有老哥帮我看一看代码啊,dijkstra 实现最短路径的问题.
2019-06-07 13:48:18 +08:00
回复了 wcavell 创建的主题 Python 有没有老哥帮我看一看代码啊,dijkstra 实现最短路径的问题.
@huiyifyj 我已经上传了 gist 的版本,我试试看吧
```python
import heapq
import sys
import math
sys.setrecursionlimit(10000)
INF = 999999999
class Point:
def __init__(self, x, y):
self.x = float(x)
self.y = float(y)
def getCost(p,c):
x_dis = abs(p.x - c.x)
y_dis = abs(p.y - c.y)
cost = math.sqrt(x_dis * x_dis + y_dis * y_dis)
return cost
def dijkstra(G, start, endp):
dis = dict((point, INF) for point in G)
dis[start] = 0.00
vis = dict((point, False) for point in G)
# heap
pq = []
heapq.heappush(pq, [dis[start], start])
path = dict((point, [start]) for point in G)
while len(pq) > 0:
v_dis, v = heapq.heappop(pq)
if vis[v] == True:
continue
vis[v] = True
p = path[v].copy()
for point in G:
distance = getCost(v,point)
if distance > 100.00:
continue
new_dis = dis[v] + distance

if new_dis < dis[point] and (not vis[point]):
dis[point] = new_dis

heapq.heappush(pq, [dis[point], point])
temp = p.copy()
temp.append(point)
path[point] = temp
distance = dis[endp]
if distance == INF:
print("-1")
else:
print("{:.2f}".format(distance))

while True:
try:
numbers = input().strip().split(",")
limit = int(numbers[0])
point_list = []
numbers = list(map(float, numbers))
stap = Point(numbers[1],numbers[2])
endp = Point(numbers[-2],numbers[-1])
if stap.x>limit or stap.y>limit or stap.x<0 or stap.y<0 :
print("-1")
elif endp.x>limit or endp.y>limit or endp.x<0 or endp.y<0 :
print("-1")
else:
for i in range(1, len(numbers), 2):
if numbers[i]<=limit and numbers[i+1]<=limit:
point_list.append(Point(numbers[i], numbers[i+1]))
dijkstra(point_list, point_list[0], point_list[-1])
except EOFError:
break
```
2019-06-07 13:43:49 +08:00
回复了 wcavell 创建的主题 Python 有没有老哥帮我看一看代码啊,dijkstra 实现最短路径的问题.
2019-06-07 13:35:53 +08:00
回复了 wcavell 创建的主题 Python 有没有老哥帮我看一看代码啊,dijkstra 实现最短路径的问题.
第一次发帖,不知道怎么设置.
那我发图好了,这是代码的图
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2795 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 00:23 · PVG 08:23 · LAX 16:23 · JFK 19:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.