結果

問題 No.3669 误差绝不允许
コンテスト
ユーザー Taiki0715
提出日時 2026-09-04 23:34:06
言語 Python3
(3.14.7 + numpy 2.5.2 + scipy 1.18.0)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
AC  
実行時間 522 ms / 3,000 ms
+ 815µs
コード長 585 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 294 ms
コンパイル使用メモリ 21,468 KB
実行使用メモリ 37,292 KB
最終ジャッジ日時 2026-09-04 23:34:21
合計ジャッジ時間 13,919 ms
ジャッジサーバーID
(参考情報)
judge4_0 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import math
import heapq
l=1
for i in range(1,300):
  l=math.lcm(l,i)
n,m=map(int,input().split())
g=[[]for i in range(n)]
for i in range(m):
  u,v,a,b=map(int,input().split())
  u-=1
  v-=1
  a=a*(l//b)
  g[u].append((v,a))
  g[v].append((u,a))
heap=[]
heapq.heappush(heap,(0,0))
sz=1
dst=[l*300*n]*n
dst[0]=0
while sz>0:
  d,x=heapq.heappop(heap)
  sz-=1
  if dst[x]!=d:
    continue
  for nxt,w in g[x]:
    if dst[nxt]>d+w:
      dst[nxt]=d+w
      heapq.heappush(heap,(dst[nxt],nxt))
      sz+=1
for i in range(1,n):
  d=dst[i]
  e=l
  g=math.gcd(d,e)
  d//=g
  e//=g
  print(d,e)
0