結果

問題 No.1065 電柱 / Pole (Easy)
コンテスト
ユーザー H3PO4
提出日時 2020-05-29 23:27:56
言語 Python3
(3.14.7 + numpy 2.5.2 + scipy 1.18.0 + ACL)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
AC  
実行時間 1,622 ms / 2,000 ms
+ 385µs
コード長 682 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 252 ms
コンパイル使用メモリ 14,976 KB
実行使用メモリ 118,180 KB
最終ジャッジ日時 2026-09-19 14:47:27
合計ジャッジ時間 74,473 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge4_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 46
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

from scipy.sparse.csgraph import dijkstra
from scipy.sparse import csr_matrix
import sys

input = sys.stdin.readline

int1 = lambda x: int(x) - 1


def main():
    N, M = map(int, input().split())
    X, Y = map(int1, input().split())

    P = [tuple(map(int, input().split())) for _ in range(N)]
    length, frm, to = [.0] * M, [0] * M, [0] * M
    for i in range(M):
        p, q = map(int1, input().split())
        length[i] = ((P[p][0] - P[q][0]) ** 2 + (P[p][1] - P[q][1]) ** 2) ** .5
        frm[i] = p
        to[i] = q

    matr = csr_matrix((length, (frm, to)), shape=(N, N))
    print(dijkstra(matr, indices=X, directed=False)[Y])


if __name__ == '__main__':
    main()
0