Skip to content

Commit cc73ddd

Browse files
authored
add : create bsw.py
1 parent ee41a2f commit cc73ddd

1 file changed

Lines changed: 77 additions & 0 deletions

File tree

[211123] 배달/bsw.py

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
import heapq
2+
3+
def solution(N, road, K):
4+
answer = 0
5+
6+
graph = [[] for _ in range(N+1)]
7+
8+
for i, j, cost in road:
9+
graph[i].append([j, cost])
10+
graph[j].append([i, cost])
11+
12+
result = dijkstra(graph, 1, N)
13+
14+
for r in result:
15+
if r <= K:
16+
answer += 1
17+
18+
return answer
19+
20+
21+
def dijkstra(graph, start, N):
22+
distances = [100000000 for _ in range(N+1)]
23+
distances[start] = 0
24+
queue = []
25+
heapq.heappush(queue, [distances[start], start])
26+
27+
while queue:
28+
current_distance, current_destination = heapq.heappop(queue)
29+
30+
if distances[current_destination] < current_distance:
31+
continue
32+
33+
for new_destination, new_distance in graph[current_destination]:
34+
35+
distance = current_distance + new_distance
36+
if distance < distances[new_destination]:
37+
distances[new_destination] = distance
38+
heapq.heappush(queue, [distance, new_destination])
39+
40+
return distances
41+
42+
43+
'''
44+
정확성 테스트
45+
테스트 1 〉 통과 (0.02ms, 10.2MB)
46+
테스트 2 〉 통과 (0.02ms, 10.3MB)
47+
테스트 3 〉 통과 (0.02ms, 10.2MB)
48+
테스트 4 〉 통과 (0.02ms, 10.3MB)
49+
테스트 5 〉 통과 (0.03ms, 10.3MB)
50+
테스트 6 〉 통과 (0.01ms, 10.3MB)
51+
테스트 7 〉 통과 (0.02ms, 10.3MB)
52+
테스트 8 〉 통과 (0.02ms, 10.3MB)
53+
테스트 9 〉 통과 (0.01ms, 10.3MB)
54+
테스트 10 〉 통과 (0.02ms, 10.3MB)
55+
테스트 11 〉 통과 (0.02ms, 10.3MB)
56+
테스트 12 〉 통과 (0.04ms, 10.2MB)
57+
테스트 13 〉 통과 (0.06ms, 10.2MB)
58+
테스트 14 〉 통과 (0.57ms, 10.3MB)
59+
테스트 15 〉 통과 (0.82ms, 10.6MB)
60+
테스트 16 〉 통과 (0.02ms, 10.4MB)
61+
테스트 17 〉 통과 (0.06ms, 10.2MB)
62+
테스트 18 〉 통과 (0.20ms, 10.3MB)
63+
테스트 19 〉 통과 (0.76ms, 10.6MB)
64+
테스트 20 〉 통과 (0.17ms, 10.3MB)
65+
테스트 21 〉 통과 (0.93ms, 10.6MB)
66+
테스트 22 〉 통과 (0.29ms, 10.3MB)
67+
테스트 23 〉 통과 (0.93ms, 10.6MB)
68+
테스트 24 〉 통과 (0.66ms, 10.7MB)
69+
테스트 25 〉 통과 (1.58ms, 10.6MB)
70+
테스트 26 〉 통과 (1.63ms, 10.8MB)
71+
테스트 27 〉 통과 (1.71ms, 10.6MB)
72+
테스트 28 〉 통과 (1.62ms, 10.7MB)
73+
테스트 29 〉 통과 (1.55ms, 10.6MB)
74+
테스트 30 〉 통과 (1.55ms, 10.7MB)
75+
테스트 31 〉 통과 (0.09ms, 10.2MB)
76+
테스트 32 〉 통과 (0.12ms, 10.3MB)
77+
'''

0 commit comments

Comments
 (0)