結果
問題 | No.229 線分上を往復する3つの動点の一致 |
ユーザー |
![]() |
提出日時 | 2015-06-19 23:33:53 |
言語 | C++11 (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 946 bytes |
コンパイル時間 | 591 ms |
コンパイル使用メモリ | 74,612 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-07 04:21:24 |
合計ジャッジ時間 | 15,105 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 WA * 3 |
ソースコード
#include <iostream> #include <algorithm> #include <vector> #include <string> #include <cmath> #include <iomanip> #include <map> using namespace std; typedef long long LL; LL gcd(LL a, LL b){ if(a > b) swap(a, b); if(a == 0) return b; return gcd(b % a, a); } LL lcm(LL a, LL b){ return a * b / gcd(a, b); } int main(){ LL t1, t2, t3; cin >> t1 >> t2 >> t3; LL m = lcm(t1, lcm(t2, t3)); LL c1 = m / t1; LL c2 = m / t2; LL c3 = m / t3; LL d = 1; for(LL i = 1; i <= 10000000; i++){ LL r1 = c1 - c1 / i * i; LL r2 = c2 - c2 / i * i; LL r3 = c3 - c3 / i * i; if((r1 == r2 || (r1*2 <= i && r1 == i-r2) || (i-r1 == r2 && r2*2 <= i)) && (r1 == r3 || (r1*2 <= i && r1 == i-r3) || (i-r1 == r3 && r3*2 <= i))){ d = i; } } if(t1 == t2 && t2 == t3){ cout << "0/1" << endl; } cout << m << "/" << d << endl; return 0; }