結果
問題 | No.229 線分上を往復する3つの動点の一致 |
ユーザー |
|
提出日時 | 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 |
ソースコード
#!/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))