Skip to content

Commit 9745acd

Browse files
committed
feat: 합승 택시 요금/YooRiChae.py
1 parent 091977b commit 9745acd

1 file changed

Lines changed: 81 additions & 0 deletions

File tree

합승 택시 요금/YooRiChae.py

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
def dijkstra(start, graph, distance):
2+
q = []
3+
q.append((0,start))
4+
distance[start] = 0
5+
6+
while len(q)!=0:
7+
dist, now = q.pop()
8+
if distance[now] < dist:
9+
continue
10+
for i in graph[now]:
11+
cost = dist + i[1]
12+
13+
if cost < distance[i[0]]:
14+
distance[i[0]] = cost
15+
q.append((cost, i[0]))
16+
17+
def solution(n, s, a, b, fares):
18+
INF = 100001 * (n-1)
19+
answer = []
20+
21+
graph = [[]for i in range(n + 1)]
22+
for start, end, fare in fares:
23+
graph[start].append((end, fare))
24+
graph[end].append((start, fare))
25+
26+
s_distance = [INF] * (n + 1)
27+
dijkstra(s, graph, s_distance)
28+
29+
for i in range(1, n+1):
30+
a_distance = [INF] * (n + 1)
31+
b_distance = [INF] * (n + 1)
32+
dijkstra(i, graph, a_distance)
33+
dijkstra(i, graph, b_distance)
34+
answer.append(s_distance[i]+a_distance[a]+b_distance[b])
35+
return min(answer)
36+
37+
'''
38+
정확성 테스트
39+
테스트 1 〉 통과 (0.07ms, 10.2MB)
40+
테스트 2 〉 통과 (0.05ms, 10.3MB)
41+
테스트 3 〉 통과 (0.07ms, 10.3MB)
42+
테스트 4 〉 통과 (0.47ms, 10.4MB)
43+
테스트 5 〉 통과 (0.21ms, 10.3MB)
44+
테스트 6 〉 통과 (0.46ms, 10.3MB)
45+
테스트 7 〉 통과 (0.52ms, 10.3MB)
46+
테스트 8 〉 통과 (0.90ms, 10.3MB)
47+
테스트 9 〉 통과 (0.89ms, 10.3MB)
48+
테스트 10 〉통과 (1.16ms, 10.3MB)
49+
50+
효율성 테스트
51+
테스트 1 〉 통과 (407.40ms, 10.2MB)
52+
테스트 2 〉 통과 (3523.25ms, 10.7MB)
53+
테스트 3 〉 통과 (891.61ms, 10.3MB)
54+
테스트 4 〉 통과 (889.09ms, 10.2MB)
55+
테스트 5 〉 통과 (1007.23ms, 10.2MB)
56+
테스트 6 〉 통과 (1020.65ms, 10.3MB)
57+
테스트 7 〉 실패 (시간 초과)
58+
테스트 8 〉 실패 (시간 초과)
59+
테스트 9 〉 통과 (1807.79ms, 15.4MB)
60+
테스트 10 〉통과 (1574.53ms, 15.5MB)
61+
테스트 11 〉통과 (1587.24ms, 15.5MB)
62+
테스트 12 〉실패 (시간 초과)
63+
테스트 13 〉실패 (시간 초과)
64+
테스트 14 〉실패 (시간 초과)
65+
테스트 15 〉실패 (시간 초과)
66+
테스트 16 〉통과 (727.97ms, 10.2MB)
67+
테스트 17 〉통과 (800.84ms, 10.3MB)
68+
테스트 18 〉통과 (747.98ms, 10.3MB)
69+
테스트 19 〉통과 (3748.25ms, 10.5MB)
70+
테스트 20 〉통과 (6034.32ms, 10.7MB)
71+
테스트 21 〉통과 (5461.49ms, 10.7MB)
72+
테스트 22 〉실패 (시간 초과)
73+
테스트 23 〉실패 (시간 초과)
74+
테스트 24 〉실패 (시간 초과)
75+
테스트 25 〉통과 (268.49ms, 10.3MB)
76+
테스트 26 〉통과 (238.50ms, 10.3MB)
77+
테스트 27 〉통과 (4853.87ms, 10.5MB)
78+
테스트 28 〉통과 (4856.66ms, 10.5MB)
79+
테스트 29 〉통과 (186.32ms, 10.2MB)
80+
테스트 30 〉통과 (239.93ms, 10.2MB)
81+
'''

0 commit comments

Comments
 (0)