結果
問題 | No.356 円周上を回る3つの動点の一致 |
ユーザー |
![]() |
提出日時 | 2016-04-02 12:27:52 |
言語 | C++11 (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,097 bytes |
コンパイル時間 | 709 ms |
コンパイル使用メモリ | 74,284 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-02 10:00:36 |
合計ジャッジ時間 | 1,950 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 4 WA * 44 |
ソースコード
#include <iostream>#include <string>#include <vector>#include <sstream>#include <map>#include <set>#include <queue>#include <algorithm>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;using ll = long long;#define all(c) (c).begin(), (c).end()#define rep(i,n) for(int i=0;i<(int)(n);i++)#define pb(e) push_back(e)#define mp(a, b) make_pair(a, b)#define fr first#define sc secondbool equal(double d1,double d2) {return abs(d1-d2)<1e-8;}const ll INF=1e9;const ll MOD=1e9+7;int dx[4]={1,0,-1,0};int dy[4]={0,1,0,-1};int t1,t2,t3;int main() {cin>>t1>>t2>>t3;int lcm=INF;rep(i,10004) if(i) {if(i%t1==0&&i%t2==0&&i%t3==0) lcm=min(lcm,i);}int ans=1;rep(i,10004) if(i) {double d1=1.0*lcm/i/t1;double d2=1.0*lcm/i/t2;double d3=1.0*lcm/i/t3;d1-=(int)d1;d2-=(int)d2;d3-=(int)d3;if(equal(d1,d2)&&equal(d2,d3)) ans=max(ans,i);}int g=__gcd(lcm,ans);lcm/=g;ans/=g;cout<<lcm<<"/"<<ans<<endl;return 0;}