제출 #239578

#제출 시각아이디문제언어결과실행 시간메모리
239578nicolaalexandraUnscrambling a Messy Bug (IOI16_messy)C++14
38 / 100
6 ms384 KiB
#include <bits/stdc++.h>
#include "messy.h"
#define DIM 300
using namespace std;

string a[DIM];
int k,n,w,r;
int p[DIM];
vector <int> sol;

/*void add_element(string s){
    a[++k] = s;
}

void compile_set(){
    for (int i=1;i<=k;i++){
        string s = "";
        for (int j=0;j<n;j++)
            s += a[i][p[j]];
        a[i] = s;
    }
}

int check_element(string s){
    for (int i=1;i<=k;i++)
        if (a[i] == s)
            return 1;
    return 0;
}
*/

vector<int> restore_permutation (int n, int w, int r){
    int i,j;
    string s = "";

    for (i=0;i<n;i++)
        s += "0";

    for (i=0;i<n-1;i++){
        s[i] = '1';
        add_element(s);
    }

    compile_set();

    s = "";
    for (i=0;i<n;i++){
        s += "0";
        sol.push_back(-1);
    }

    for (i=0;i<n;i++){
        for (j=0;j<n;j++){
            if (s[j] == '1')
                continue;
            /// incerc sa pun 1 aici
            s[j] = '1';
            if (j == n-1 || check_element(s)){
                sol[j] = i;
                break;
            } else s[j] = '0';
        }
    }
    for (i=0;i<n;i++){
        if (sol[i] == -1){
            sol[i] = n-1;
            break;
        }}

    return sol;
}
#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...