結果

問題 No.438 Cwwプログラミング入門
ユーザー ouoz1Vouoz1V
提出日時 2016-10-29 01:40:17
言語 C++11
(gcc 11.4.0)
結果
WA  
実行時間 -
コード長 1,833 bytes
コンパイル時間 1,787 ms
コンパイル使用メモリ 180,980 KB
実行使用メモリ 1,219,396 KB
最終ジャッジ日時 2024-11-24 22:57:27
合計ジャッジ時間 66,541 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 AC 2 ms
13,636 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 2 ms
6,688 KB
testcase_14 WA -
testcase_15 AC 4 ms
6,688 KB
testcase_16 WA -
testcase_17 WA -
testcase_18 AC 3 ms
6,692 KB
testcase_19 AC 4 ms
6,688 KB
testcase_20 WA -
testcase_21 WA -
testcase_22 WA -
testcase_23 WA -
testcase_24 AC 2 ms
6,688 KB
testcase_25 WA -
testcase_26 RE -
testcase_27 AC 2 ms
6,688 KB
testcase_28 WA -
testcase_29 WA -
testcase_30 AC 2 ms
6,688 KB
testcase_31 AC 2 ms
6,692 KB
testcase_32 WA -
testcase_33 WA -
testcase_34 WA -
testcase_35 WA -
testcase_36 WA -
testcase_37 WA -
testcase_38 AC 2 ms
6,688 KB
testcase_39 AC 2 ms
6,688 KB
testcase_40 AC 2 ms
6,692 KB
testcase_41 AC 2 ms
6,688 KB
testcase_42 RE -
testcase_43 AC 2 ms
6,688 KB
testcase_44 RE -
testcase_45 WA -
testcase_46 WA -
testcase_47 AC 2 ms
6,692 KB
testcase_48 WA -
testcase_49 RE -
testcase_50 AC 55 ms
15,232 KB
testcase_51 AC 445 ms
410,880 KB
testcase_52 WA -
testcase_53 TLE -
testcase_54 AC 2 ms
6,692 KB
testcase_55 RE -
testcase_56 WA -
testcase_57 RE -
testcase_58 AC 222 ms
186,752 KB
testcase_59 RE -
testcase_60 RE -
testcase_61 WA -
testcase_62 AC 194 ms
143,872 KB
testcase_63 TLE -
testcase_64 WA -
testcase_65 AC 118 ms
52,480 KB
testcase_66 RE -
testcase_67 AC 2 ms
6,688 KB
testcase_68 WA -
testcase_69 WA -
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 MLE -
testcase_79 MLE -
testcase_80 MLE -
testcase_81 MLE -
testcase_82 MLE -
testcase_83 MLE -
testcase_84 MLE -
testcase_85 MLE -
testcase_86 MLE -
testcase_87 MLE -
testcase_88 WA -
testcase_89 WA -
testcase_90 AC 49 ms
37,632 KB
testcase_91 WA -
testcase_92 AC 47 ms
38,656 KB
testcase_93 WA -
testcase_94 AC 1 ms
6,820 KB
testcase_95 TLE -
testcase_96 TLE -
testcase_97 TLE -
testcase_98 MLE -
testcase_99 MLE -
testcase_100 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

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

#define ll long long
map<int, string> mp;

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(mp.find(bfs.first)==mp.end()){
            mp.insert(map<int,string>::value_type(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 = mp[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