結果
問題 |
No.1152 10億ゲーム
|
ユーザー |
![]() |
提出日時 | 2020-08-07 23:11:32 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,602 bytes |
コンパイル時間 | 1,085 ms |
コンパイル使用メモリ | 102,780 KB |
実行使用メモリ | 51,896 KB |
平均クエリ数 | 18.26 |
最終ジャッジ日時 | 2024-07-17 05:14:06 |
合計ジャッジ時間 | 9,221 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 WA * 25 TLE * 1 -- * 14 |
ソースコード
#include<iostream> #include<string> #include<cstdio> #include<vector> #include<cmath> #include<algorithm> #include<functional> #include<iomanip> #include<queue> #include<ciso646> #include<random> #include<map> #include<set> #include<complex> #include<bitset> #include<stack> #include<unordered_map> #include<utility> #include<tuple> using namespace std; typedef long long ll; typedef unsigned int ui; const ll mod = 1000000007; const ll INF = (ll)1000000007 * 1000000007; typedef pair<int, int> P; #define stop char nyaa;cin>>nyaa; #define rep(i,n) for(int i=0;i<n;i++) #define per(i,n) for(int i=n-1;i>=0;i--) #define Rep(i,sta,n) for(int i=sta;i<n;i++) #define Per(i,sta,n) for(int i=n-1;i>=sta;i--) #define rep1(i,n) for(int i=1;i<=n;i++) #define per1(i,n) for(int i=n;i>=1;i--) #define Rep1(i,sta,n) for(int i=sta;i<=n;i++) typedef long double ld; const ld eps = 1e-8; const ld pi = acos(-1.0); typedef pair<ll, ll> LP; int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1}; int n=9; int s1,s2; int a1=0,b1=0,a2=0,b2=0; void move(int t){ if(t==0){ s1*=2; a1+=1; return; } if(t==1){ s1*=5; b1+=1; return; } if(t==2){ s1/=2; a1-=1; return; } if(t==3){ s1/=5; b1-=1; return; } } void apr(int s){ if(s==0){ if(a1<a2) { a1+=1; s1*=2; } else{ a1-=1; s1/=2; } } else{ if(b1<b2) { b1+=1; s1*=5; } else{ b1-=1; s1/=5; } } } void solve(){ cin >> s1 >> s2; int s1_=s1,s2_=s2; while(s1_%2==0){ a1+=1; s1_/=2; } while(s2_%2==0){ a2+=1; s2_/=2; } while(s1_%5==0){ b1+=1; s1_/=5; } while(s2_%5==0){ b2+=1; s2_/=5; } if(a1<a2){ s1*=2; cout << s1 << endl; } else if(b1<b2){ s1*=5; cout << s1 << endl; } else if(a1>a2){ s1/=2; cout << s1 << endl; } else if(b1>b2){ s1/=5; cout << s1 << endl; } if(s1==s2) return; while(s1!=s2){ int x;cin >> x; if(x==s1) return; int t; if(x/s2==2){ t=0; s2=x; a2+=1; } else if(x/s2==5){ t=1; s2=x; b2+=1; } else if(s2/x==2){ t=2; s2=x; a2-=1; } else if(s2/x==5){ t=3; s2=x; b2-=1; } else t=4; if(t==0 || t==2 || t==4){ if(a1==a2) apr(1); else apr(0); } if(t==1 || t==3){ if(b1==b2) apr(0); else apr(1); } cout << s1 << endl; if(s1==s2) return; } } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout << fixed << setprecision(50); solve(); }