結果

問題 No.438 Cwwプログラミング入門
ユーザー ouoz1Vouoz1V
提出日時 2016-10-29 01:22:55
言語 C++11
(gcc 11.4.0)
結果
WA  
実行時間 -
コード長 1,808 bytes
コンパイル時間 1,855 ms
コンパイル使用メモリ 173,272 KB
実行使用メモリ 1,367,420 KB
最終ジャッジ日時 2024-11-24 22:48:12
合計ジャッジ時間 105,623 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 MLE -
testcase_02 AC 116 ms
322,748 KB
testcase_03 MLE -
testcase_04 MLE -
testcase_05 MLE -
testcase_06 MLE -
testcase_07 MLE -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 AC 114 ms
315,920 KB
testcase_14 WA -
testcase_15 AC 114 ms
316,580 KB
testcase_16 WA -
testcase_17 WA -
testcase_18 AC 116 ms
316,120 KB
testcase_19 AC 118 ms
316,328 KB
testcase_20 WA -
testcase_21 WA -
testcase_22 WA -
testcase_23 WA -
testcase_24 AC 112 ms
315,980 KB
testcase_25 WA -
testcase_26 RE -
testcase_27 AC 113 ms
315,912 KB
testcase_28 WA -
testcase_29 WA -
testcase_30 AC 109 ms
315,912 KB
testcase_31 AC 109 ms
315,896 KB
testcase_32 WA -
testcase_33 WA -
testcase_34 WA -
testcase_35 WA -
testcase_36 WA -
testcase_37 WA -
testcase_38 AC 111 ms
315,820 KB
testcase_39 AC 112 ms
315,944 KB
testcase_40 AC 112 ms
315,972 KB
testcase_41 AC 112 ms
315,900 KB
testcase_42 RE -
testcase_43 AC 113 ms
315,884 KB
testcase_44 TLE -
testcase_45 WA -
testcase_46 WA -
testcase_47 AC 111 ms
315,796 KB
testcase_48 MLE -
testcase_49 TLE -
testcase_50 AC 148 ms
325,972 KB
testcase_51 MLE -
testcase_52 WA -
testcase_53 TLE -
testcase_54 AC 1,765 ms
316,528 KB
testcase_55 TLE -
testcase_56 TLE -
testcase_57 RE -
testcase_58 AC 318 ms
499,328 KB
testcase_59 RE -
testcase_60 RE -
testcase_61 WA -
testcase_62 AC 288 ms
456,036 KB
testcase_63 RE -
testcase_64 MLE -
testcase_65 AC 203 ms
363,824 KB
testcase_66 TLE -
testcase_67 AC 108 ms
315,856 KB
testcase_68 WA -
testcase_69 RE -
testcase_70 RE -
testcase_71 RE -
testcase_72 RE -
testcase_73 RE -
testcase_74 RE -
testcase_75 RE -
testcase_76 WA -
testcase_77 RE -
testcase_78 RE -
testcase_79 TLE -
testcase_80 RE -
testcase_81 RE -
testcase_82 RE -
testcase_83 TLE -
testcase_84 RE -
testcase_85 TLE -
testcase_86 RE -
testcase_87 TLE -
testcase_88 WA -
testcase_89 WA -
testcase_90 AC 155 ms
346,788 KB
testcase_91 WA -
testcase_92 AC 159 ms
351,024 KB
testcase_93 WA -
testcase_94 AC 107 ms
315,844 KB
testcase_95 MLE -
testcase_96 MLE -
testcase_97 RE -
testcase_98 TLE -
testcase_99 RE -
testcase_100 MLE -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;

#define ll long long
string method[10000000];

int main(){
    ll int x,y,z;
    queue<pair<ll int,string> > q;
    q.push(make_pair(0,""));
    string ans;
    string ansS;

    cin>>x>>y>>z;

    while(!q.empty()){
        pair<ll int,string> bfs=q.front();
        if(method[bfs.first].length()==0){
            method[bfs.first]=bfs.second;
            if(bfs.first==z){
                break;
            }
        }
        else{
            q.pop();
            continue;
        }
        if(bfs.first>z+x+y){
            q.pop();
            continue;
        }
        q.push(make_pair(bfs.first+x,bfs.second+"+a"));
        q.push(make_pair(bfs.first+y,bfs.second+"+b"));
        if(bfs.first-x>0)q.push(make_pair(bfs.first-x,bfs.second+"-a"));
        if(bfs.first-y>0)q.push(make_pair(bfs.first-y,bfs.second+"-b"));
        q.pop();
    }
    ans=method[z];
    vector<char> miN;
    vector<char> plN;
    for(int i=0; i<ans.length(); i+=2){
        if(ans[i]=='+'){
            if(ans[i+1]=='a'){
                plN.push_back('c');
            }else{
                plN.push_back('w');
            }
        }
        else if(ans[i]=='-'){
            if(ans[i+1]=='a'){
                miN.push_back('c');
            }else{
                miN.push_back('w');
            }
        }
    }
    if(ans.length()>10000||ans.length()==0){
        cout<<"mourennaihasimasenn"<<endl;
        return 0;
    }
    for(int i=0; i<miN.size(); i++){
        ansS+=miN[i];
    }
    for(int i=miN.size()-1; i>=0; i--){
        ansS+=plN[i];
        ansS+='W';
        plN.pop_back();
    }
    for(int i=0; i<plN.size(); i++){
        ansS+=plN[i];
    }
    for(int i=0; i<plN.size(); i++){
        ansS+='C';
    }
    cout<<ansS<<endl;
    return 0;
}

0