제출 #227636

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

int t;
string scb(int b){
	string s = "";
	for(int i=0;i<b;i++) s+="1";
	for(int i=b;i<t;i++) s+="0";
	return s;
}

bool used[10000];
vector<int> p;
string sb(int b){
	string s = "";
	for(int i=0;i<b;i++){ if(!used[i]) s+="0"; else s+="1";}
	s+="1";
	for(int i=b+1;i<t;i++){ if(!used[i]) s+="0"; else s+="1";}
	return s;
}
vector<int> restore_permutation(int n, int w, int r) {
	t = n;
	p.assign(n,0);
	for(int i=0;i<n;i++){
		string s;
		//cout<<"Sending "<<scb(i+1)<<endl;
		add_element(scb(i+1));
	}
	compile_set();
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			//cout<<i<<" "<<j<<" "<<used[j]<<" check "<<sb(j)<<": "<<check_element(sb(j))<<endl;
			if(!used[j] && check_element(sb(j))){ used[j] = true, p[j] = i; break;}
		}
	}
    return p;
}
#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...