1
polebug 2019-06-07 08:56:23 +08:00 via Android
能不能给个有高亮有缩进的代码 这种没缩进的看都不想看...
|
2
enchilada2020 2019-06-07 09:41:37 +08:00 via Android
你这样的代码和提问都是没有灵魂的。。。
|
3
zhangpeter 2019-06-07 10:51:18 +08:00
1 哪里的题目
2 代码高亮 |
4
wcavell OP |
5
hduwillsky 2019-06-07 13:41:08 +08:00 via iPhone
@wcavell 图呢?
|
6
wcavell OP |
7
huiyifyj 2019-06-07 13:44:22 +08:00
这代码不能格式化一下再贴过来?
用 Markdown 的 ```python ``` 格式下啊🙃 |
8
wcavell OP @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 ``` |
10
wcavell OP |
11
wcavell OP 已经解决了,最后发现是一个返回值的问题,代码逻辑没有问题
|