56 lines
1008 B
Python
56 lines
1008 B
Python
|
map_in = [
|
||
|
['A', 'E', 1],
|
||
|
['A', 'B', 2],
|
||
|
['A', 'C', 1],
|
||
|
['A', 'D', 1],
|
||
|
['A', 'E', 1],
|
||
|
['B', 'G', 1],
|
||
|
['B', 'J', 2],
|
||
|
['C', 'D', 3],
|
||
|
['C', 'G', 3],
|
||
|
['C', 'F', 3],
|
||
|
['D', 'G', 2],
|
||
|
['D', 'H', 1],
|
||
|
['D', 'I', 2],
|
||
|
['E', 'H', 1],
|
||
|
['E', 'I', 3],
|
||
|
['F', 'J', 1],
|
||
|
['F', 'G', 1],
|
||
|
['G', 'K', 2],
|
||
|
['G', 'I', 3],
|
||
|
['H', 'L', 2],
|
||
|
['H', 'I', 1],
|
||
|
['I', 'M', 3],
|
||
|
['J', 'S', 2],
|
||
|
['K', 'N', 1],
|
||
|
['K', 'L', 3],
|
||
|
['L', 'R', 1],
|
||
|
['L', 'M', 1],
|
||
|
['M', 'N', 2],
|
||
|
['M', 'Q', 1],
|
||
|
['M', 'S', 1],
|
||
|
['N', 'P', 1],
|
||
|
['Q', 'O', 1],
|
||
|
['O', 'R', 3],
|
||
|
['P', 'O', 1],
|
||
|
['R', 'S', 1],
|
||
|
]
|
||
|
|
||
|
|
||
|
def dp(now_dis, next_node):
|
||
|
for src, dst, dis in map_in:
|
||
|
if src == next_node:
|
||
|
now_dis += dis
|
||
|
if dst == 'S':
|
||
|
ans.append(now_dis)
|
||
|
else:
|
||
|
dp(now_dis, dst)
|
||
|
|
||
|
|
||
|
ans = []
|
||
|
for src, dst, dis in map_in:
|
||
|
if src == 'A':
|
||
|
dp(dis, dst)
|
||
|
|
||
|
print(min(ans))
|