#include <bits/stdc++.h>
#include "messy.h"
using namespace std;
int ans[128];
/*
void add_element(string x){
cout<<"A";
for (int i=0;i<4;i++) cout<<x[i];
cout<<'\n';
}
void compile_set(){}
bool check_element(string x){
cout<<"C";
for (int i=0;i<4;i++) cout<<x[i];
cout<<'\n';
bool v;
cin>>v;
return v;
}
/**/
void add(int s,int e,int fs,int fe){
if (s==e) return;
bitset<128> x=0;
for (int i=fs;i<=fe;i++) x[i]=1;
int m=(s+e)>>1;
for (int i=s;i<=m;i++){
if (i>s) x[i-1]=0;
x[i]=1;
string xs;
for (int i=0;i<128;i++) xs.push_back(x[i]+'0');
add_element(xs);
}
add(s,m,m+1,e);
add(m+1,e,s,m);
}
void find(int s,int e,bitset<128>& values, bitset<128>& flag){
if (s==e){
for (int i=0;i<128;i++){
if (values[i]) ans[i]=s;
}
return;
}
bitset<128> x;
bitset<128> left=0;
bitset<128> right=0;
for (int i=0;i<128;i++){
if (values[i]){
x=flag;
x[i]=1;
string xs;
for (int i=0;i<128;i++) xs.push_back(x[i]+'0');
if (check_element(xs)){
left[i]=1;
}else{
right[i]=1;
}
}
}
int m=(s+e)>>1;
find(s,m,left,right);
find(m+1,e,right,left);
}
vector<int> restore_permutation(int N, int w, int r){
add(0,N-1,1,0);
compile_set();
bitset<128> values=0;
for (int i=0;i<N;i++) values[i]=1;
bitset<128> flag=0;
find(0,N-1,values,flag);
vector<int> result={};
for (int i=0;i<N;i++) result.push_back(ans[i]);
}
Compilation message (stderr)
messy.cpp: In function 'std::vector<int> restore_permutation(int, int, int)':
messy.cpp:77:1: warning: no return statement in function returning non-void [-Wreturn-type]
77 | }
| ^
messy.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
messy_c.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |