結果

問題 No.229 線分上を往復する3つの動点の一致
ユーザー kimiyuki
提出日時 2016-11-22 20:35:36
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 36 ms / 5,000 ms
コード長 1,039 bytes
コンパイル時間 82 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 11,520 KB
最終ジャッジ日時 2024-11-27 09:42:14
合計ジャッジ時間 2,687 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 43
権限があれば一括ダウンロードができます

ソースコード

diff #

#!/usr/bin/env python3
import itertools
from fractions import Fraction
import math
def lcm(a, b):
    return a * b // math.gcd(a, b)
def qlcm(p, q):
    a = p.numerator * q.denominator
    b = p.denominator * q.numerator
    c = p.denominator * q.denominator
    return Fraction(lcm(a, b), c)
t1 = int(input())
t2 = int(input())
t3 = int(input())
v1 = Fraction(2, t1)
v2 = Fraction(2, t2)
v3 = Fraction(2, t3)
ans = min([
    qlcm(2 / abs(v1 + v2), qlcm(2 / abs(v2 + v3), 2 / abs(v3 + v1))),
    qlcm(2 / abs(v1 + v2), qlcm(2 / abs(v2 + v3), 2 / abs(v3 - v1))),
    qlcm(2 / abs(v1 + v2), qlcm(2 / abs(v2 - v3), 2 / abs(v3 + v1))),
    qlcm(2 / abs(v1 + v2), qlcm(2 / abs(v2 - v3), 2 / abs(v3 - v1))),
    qlcm(2 / abs(v1 - v2), qlcm(2 / abs(v2 + v3), 2 / abs(v3 + v1))),
    qlcm(2 / abs(v1 - v2), qlcm(2 / abs(v2 + v3), 2 / abs(v3 - v1))),
    qlcm(2 / abs(v1 - v2), qlcm(2 / abs(v2 - v3), 2 / abs(v3 + v1))),
    qlcm(2 / abs(v1 - v2), qlcm(2 / abs(v2 - v3), 2 / abs(v3 - v1))),
    ])
print('%d/%d' % (ans.numerator, ans.denominator))
0