AtCoderで開催されたDPまとめコンテストに関する質問です。
A - Frog 1
この問題をPython3で解くべく以下のようなコードを作成しました。
Python3
1from scipy.sparse import csr_matrix 2from scipy.sparse.csgraph import dijkstra 3import numpy as np 4import sys 5sys.setrecursionlimit(1000000000) 6node_num = int(input()) 7nodes=input().split() 8 9 10 11 12route_list=np.zeros((node_num,node_num)) 13 14 15mi_count=0 16 17 18#コスト0と経路なしの区別としてコスト0の時はコスト 0.000000001 とする。 19#出力時にintにすることで少数を削除している。 20for i in range(node_num-1): 21 if i+2<node_num: 22 route_list[i][i+1]=abs(int(nodes[i+1])-int(nodes[i])) if abs(int(nodes[i+1])-int(nodes[i])) != 0 else 0.000000001 23 route_list[i][i+2]=abs(int(nodes[i+2])-int(nodes[i])) if abs(int(nodes[i+2])-int(nodes[i])) != 0 else 0.000000001 24 else: 25 route_list[i][i+1]=abs(int(nodes[i+1])-int(nodes[i])) if abs(int(nodes[i+1])-int(nodes[i])) != 0 else 0.000000001 26 27 28route_list = csr_matrix(route_list) 29#print(route_list) 30dist_matrix= dijkstra(csgraph=route_list, directed=False, indices=0, return_predecessors=False) 31 32dis=dist_matrix[-1] 33 34print(int(dis))
途中でREが出る原因は何だと考えられますか???
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/15 15:05