Submission #50341

#TimeUsernameProblemLanguageResultExecution timeMemory
50341faishol27Unscrambling a Messy Bug (IOI16_messy)C++14
38 / 100
3 ms384 KiB
#include "messy.h"

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

vector<int>ans;

string solve(int cnt, string s){
    string ret = s;
    int len = s.length();

    for(int i=0;i<len;i++){
        if(ret[i]=='1') continue;

        ret[i] = '1';
        if(check_element(ret)){
            ans[i] = cnt-1;
            return ret;
        }else{
            ret[i] = '0';
        }

    }
}

// void solve_last(int N){
//     bitset<300>stt;
//     for(auto elm:ans) if(elm != -1) stt[elm] = 1;

//     for(int i=0;i<N;i++){
//         if(ans[i] == -1){
//             for(int j=0;j<N;j++)
//                 if(stt[j]==0){
//                     ans[i] = j;
//                     break;
//                 } 
//         }
//     }
// }

std::vector<int> restore_permutation(int N, int W, int R) {
    ans.resize(N, -1);
    string  B = "",
            tmp = "";

    for(int i=0;i<N;i++){
        B += "0";
        tmp += "0";
    }

    for(int i=0;i<N-1;i++){
        B[i] = '1';
        add_element(B);
    }

    compile_set();

    for(int i=1;i<N;i++){
        tmp = solve(i, tmp);
    }

    for(int i=0;i<N;i++) if(ans[i]==-1) ans[i] = N-1;

    return std::vector<int>(ans);
}

Compilation message (stderr)

messy.cpp: In function 'std::__cxx11::string solve(int, std::__cxx11::string)':
messy.cpp:24:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...