結果
問題 | No.1152 10億ゲーム |
ユーザー | LayCurse |
提出日時 | 2020-08-07 22:50:47 |
言語 | C++17 (gcc 12.3.0 + boost 1.83.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 3,404 bytes |
コンパイル時間 | 2,722 ms |
コンパイル使用メモリ | 212,848 KB |
実行使用メモリ | 49,828 KB |
平均クエリ数 | 0.02 |
最終ジャッジ日時 | 2024-07-17 05:05:26 |
合計ジャッジ時間 | 6,411 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 93 ms
24,580 KB |
testcase_01 | TLE | - |
testcase_02 | -- | - |
testcase_03 | -- | - |
testcase_04 | -- | - |
testcase_05 | -- | - |
testcase_06 | -- | - |
testcase_07 | -- | - |
testcase_08 | -- | - |
testcase_09 | -- | - |
testcase_10 | -- | - |
testcase_11 | -- | - |
testcase_12 | -- | - |
testcase_13 | -- | - |
testcase_14 | -- | - |
testcase_15 | -- | - |
testcase_16 | -- | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
testcase_20 | -- | - |
testcase_21 | -- | - |
testcase_22 | -- | - |
testcase_23 | -- | - |
testcase_24 | -- | - |
testcase_25 | -- | - |
testcase_26 | -- | - |
testcase_27 | -- | - |
testcase_28 | -- | - |
testcase_29 | -- | - |
testcase_30 | -- | - |
testcase_31 | -- | - |
testcase_32 | -- | - |
testcase_33 | -- | - |
testcase_34 | -- | - |
testcase_35 | -- | - |
testcase_36 | -- | - |
testcase_37 | -- | - |
testcase_38 | -- | - |
testcase_39 | -- | - |
testcase_40 | -- | - |
testcase_41 | -- | - |
testcase_42 | -- | - |
testcase_43 | -- | - |
testcase_44 | -- | - |
testcase_45 | -- | - |
testcase_46 | -- | - |
testcase_47 | -- | - |
testcase_48 | -- | - |
testcase_49 | -- | - |
ソースコード
#pragma GCC optimize ("Ofast") #include<bits/stdc++.h> using namespace std; template<class S, class T> inline S min_L(S a,T b){ return a<=b?a:b; } template<class S, class T> inline S max_L(S a,T b){ return a>=b?a:b; } int m2; int m5; int o2; int o5; int in2; int in5; void input(void){ int x; scanf("%d",&x); in2 = in5 = 0; while(x%2==0){ in2++; x/=2; } while(x%5==0){ in5++; x/=5; } } void output(void){ int cTE1_r3A, xr20shxY; int x = 1; for(cTE1_r3A=(0);cTE1_r3A<(m2);cTE1_r3A++){ x *= 2; } for(xr20shxY=(0);xr20shxY<(m5);xr20shxY++){ x *= 5; } printf("%d\n",x); fflush(stdout); } int main(){ int mn; int mx; int fg = 0; input(); { auto KrdatlYV = (in2); auto ao_dF3pO = ( in5); m2 = KrdatlYV; m5 = ao_dF3pO; } input(); { auto tU__gIr_ = (in2); auto a2conNHc = ( in5); o2 = tU__gIr_; o5 = a2conNHc; } for(;;){ if( fg==0 || (m2+m5+o2+o5)%2 == 0 ){ mn =min_L(m2, m5); if(m2==7 && m5==9 && (m2+m5+o2+o5)%2 == 0){ m2 = m5 = 9; fg = 1; } else if(m2==7 && m5==9){ fg = 1; continue; } else if(mn < 7 && m2==mn){ m2++; } else{ m5++; } output(); if(m2==o2 && m5==o5){ return 0; } input(); { auto YREPHmFM = (in2); auto jZyWAPpY = ( in5); o2 = YREPHmFM; o5 = jZyWAPpY; } if(m2==o2 && m5==o5){ return 0; } continue; } mx =max_L(abs(m2-o2), abs(m5-o5)); if(m2+mx==o2){ m2++; } else if(m2-mx==o2){ m2--; } else if(m5+mx==o5){ m5++; } else{ m5--; } output(); if(m2==o2 && m5==o5){ return 0; } input(); { auto ZIeRIny5 = (in2); auto iMWUTgY_ = ( in5); o2 = ZIeRIny5; o5 = iMWUTgY_; } if(m2==o2 && m5==o5){ return 0; } continue; } return 0; } // cLay varsion 20200509-1 // --- original code --- // int m2, m5, o2, o5; // // int in2, in5; // void input(void){ // int x; // scanf("%d",&x); // in2 = in5 = 0; // while(x%2==0) in2++, x/=2; // while(x%5==0) in5++, x/=5; // } // // void output(void){ // int x = 1; // rep(m2) x *= 2; // rep(m5) x *= 5; // printf("%d\n",x); // fflush(stdout); // } // // // { // int mn, mx, fg = 0; // // input(); // (m2, m5) = (in2, in5); // input(); // (o2, o5) = (in2, in5); // // for(;;){ // if( fg==0 || (m2+m5+o2+o5)%2 == 0 ){ // mn = min(m2, m5); // if(m2==7 && m5==9 && (m2+m5+o2+o5)%2 == 0){ // m2 = m5 = 9; // fg = 1; // } else if(m2==7 && m5==9){ // fg = 1; // continue; // } else if(mn < 7 && m2==mn){ // m2++; // } else { // m5++; // } // output(); // if(m2==o2 && m5==o5) return 0; // input(); // (o2, o5) = (in2, in5); // if(m2==o2 && m5==o5) return 0; // continue; // } // // mx = max(abs(m2-o2), abs(m5-o5)); // if(m2+mx==o2){ // m2++; // } else if(m2-mx==o2){ // m2--; // } else if(m5+mx==o5){ // m5++; // } else { // m5--; // } // output(); // if(m2==o2 && m5==o5) return 0; // input(); // (o2, o5) = (in2, in5); // if(m2==o2 && m5==o5) return 0; // continue; // } // }