結果
問題 | No.229 線分上を往復する3つの動点の一致 |
ユーザー |
|
提出日時 | 2015-06-19 23:30:42 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 738 bytes |
コンパイル時間 | 372 ms |
コンパイル使用メモリ | 58,268 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-07 04:19:46 |
合計ジャッジ時間 | 1,392 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 WA * 31 |
ソースコード
#include <iostream> #include <algorithm> using namespace std; int GCD(int a, int b){ if(b == 0) return a; return GCD(b, a % b); } int calcGCD(int a, int b){ if(a < b) swap(a, b); return GCD(a, b); } int calcLCM2(int a, int b){ if(a < b) swap(a, b); return a / GCD(a, b) * b; } int calcLCM3(int a, int b, int c){ return calcLCM2(calcLCM2(a, b), c); } int main(){ int t1, t2, t3; int v1, v2, v3; cin >> t1 >> t2 >> t3; int numer = calcLCM3(t1, t2, t3); v1 = numer / t1 + numer / t2; v2 = numer / t2 + numer / t3; v3 = numer / t3 + numer / t1; int denom = calcGCD(v1, v2); denom = max(denom, calcGCD(v2, v3)); denom = max(denom, calcGCD(v3, v1)); cout << numer << "/" << denom << endl; }