結果

問題 No.428 小数から逃げる夢
ユーザー TE_RIATE_RIA
提出日時 2016-10-27 19:18:46
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
WA  
実行時間 -
コード長 2,093 bytes
コンパイル時間 777 ms
コンパイル使用メモリ 68,588 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-05-03 07:03:06
合計ジャッジ時間 3,065 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
5,248 KB
testcase_01 AC 2 ms
5,376 KB
testcase_02 AC 2 ms
5,376 KB
testcase_03 AC 2 ms
5,376 KB
testcase_04 AC 2 ms
5,376 KB
testcase_05 AC 2 ms
5,376 KB
testcase_06 AC 2 ms
5,376 KB
testcase_07 AC 2 ms
5,376 KB
testcase_08 AC 2 ms
5,376 KB
testcase_09 AC 2 ms
5,376 KB
testcase_10 AC 2 ms
5,376 KB
testcase_11 AC 2 ms
5,376 KB
testcase_12 WA -
testcase_13 WA -
testcase_14 AC 2 ms
5,376 KB
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 AC 2 ms
5,376 KB
testcase_20 WA -
testcase_21 WA -
testcase_22 WA -
testcase_23 WA -
testcase_24 WA -
testcase_25 WA -
testcase_26 WA -
testcase_27 WA -
testcase_28 WA -
testcase_29 AC 2 ms
5,376 KB
testcase_30 WA -
testcase_31 WA -
testcase_32 WA -
testcase_33 WA -
testcase_34 WA -
testcase_35 WA -
testcase_36 WA -
testcase_37 WA -
testcase_38 WA -
testcase_39 AC 2 ms
5,376 KB
testcase_40 WA -
testcase_41 WA -
testcase_42 WA -
testcase_43 WA -
testcase_44 WA -
testcase_45 WA -
testcase_46 WA -
testcase_47 WA -
testcase_48 WA -
testcase_49 AC 2 ms
5,376 KB
testcase_50 WA -
testcase_51 WA -
testcase_52 WA -
testcase_53 WA -
testcase_54 WA -
testcase_55 WA -
testcase_56 WA -
testcase_57 WA -
testcase_58 WA -
testcase_59 AC 2 ms
5,376 KB
testcase_60 WA -
testcase_61 WA -
testcase_62 WA -
testcase_63 WA -
testcase_64 WA -
testcase_65 WA -
testcase_66 WA -
testcase_67 WA -
testcase_68 WA -
testcase_69 AC 2 ms
5,376 KB
testcase_70 WA -
testcase_71 WA -
testcase_72 WA -
testcase_73 WA -
testcase_74 WA -
testcase_75 WA -
testcase_76 WA -
testcase_77 WA -
testcase_78 WA -
testcase_79 AC 2 ms
5,376 KB
testcase_80 WA -
testcase_81 WA -
testcase_82 WA -
testcase_83 WA -
testcase_84 WA -
testcase_85 WA -
testcase_86 WA -
testcase_87 WA -
testcase_88 WA -
testcase_89 AC 2 ms
5,376 KB
testcase_90 WA -
testcase_91 WA -
testcase_92 WA -
testcase_93 WA -
testcase_94 WA -
testcase_95 WA -
testcase_96 WA -
testcase_97 WA -
testcase_98 WA -
testcase_99 AC 2 ms
5,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
using namespace std;

void pluplus(int posi,string &result_list,char sc){
    if(result_list[posi] == *" "){
        result_list[posi] = sc;
    }else{
        if((sc - '0') + (result_list[posi] - '0') < 10){
            result_list[posi] = *to_string((sc - '0') + (result_list[posi] - '0')).c_str();
        }else{
            if((sc - '0')  < 10) {
                string rstr = to_string((sc - '0') + (result_list[posi] - '0'));
                result_list[posi] = rstr[1];
                result_list[posi - 1] = rstr[0];
            }else{
                string rstr = to_string((sc - '0') + (result_list[posi] - '0'));
                string rstr_p = to_string((sc - '0') + (result_list[posi] - '0') + ((sc - '0') + (result_list[posi] - '0') % 10));
                result_list[posi] = rstr[1];
                result_list[posi - 1] = rstr_p[0];
            }

        }
    }

}
void execute(string e_dream_s,int e_posi,int e_k,string &e_result_s){
    int mp_result = (e_dream_s[e_posi] - '0') * e_k;
    int e_size = to_string(mp_result).size();
    int e_size_cnt = e_size - 1;
    if(e_size >= 1){ pluplus(e_posi,e_result_s,to_string(mp_result)[e_size_cnt]);}
    if(e_size >= 2){ pluplus(e_posi-1,e_result_s,to_string(mp_result)[e_size_cnt-1]);}
    if(e_size >= 3){ pluplus(e_posi-2,e_result_s,to_string(mp_result)[e_size_cnt-2]);}
}

int main(){
    long k;
    cin >> k;
    string dream_s = "0.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991";
    string result_s = "";
    for(int cnt = dream_s.size()-1;cnt >= 0;cnt--){result_s+=" ";}
    int posi = dream_s.size()-1;

    for(auto s:dream_s){
        if(posi >= 2) {execute(dream_s, posi, k, result_s);}
        posi--;
    }
    result_s.insert(2,".");
    if(result_s[1] == *" "){result_s.insert(1,"0");}
    for(size_t c = result_s.find_first_of(" "); c != string::npos; c = result_s.find_first_of(" ")){result_s.erase(c,1);}
    cout << result_s << endl;
}
0