#include<bits/stdc++.h>
#define f0r(i,n) for(int i = 0; i < n; i++)
#define FOR(i,k,n) for(int i = k; i < n; i++)
#define pb push_back
#define mp make_pair
#define eb emplace_back
#define vi vector<int>
#define pii pair<int,int>
#define dout(x); cout<<x<<' '<<#x<<endl;
#define dout2(x,y); cout<<x<<' '<<#x<<' '<<y<<' '<<#y<<endl;
#define vout(v); for(auto u : v)cout<<u<<' '; cout<<endl;
using namespace std;
int n;
#include "messy.h"
vi ans;
void gen(int l, int r){
if(l==r)return;
int mid = l + r >> 1;
string s = ""; f0r(i,n){
if(i>=l&&i<=r)s+='0'; else s+='1';
}
FOR(i,l,mid+1){
s[i]='1'; add_element(s); s[i] = '0';
}
gen(l,mid); gen(mid+1,r);
}
void find(int l, int r, vi &a){
if(l==r){ans[a[0]]=l; return;}
string s = ""; f0r(i,n)s+='1'; for(auto u : a)s[u] = '0';
vi lef, rig;
for(auto u : a){
s[u] = '1';
bool ret = check_element(s); if(ret)lef.pb(u); else rig.pb(u);
s[u] = '0';
}
int mid = l + r >> 1;
find(l,mid,lef); find(mid+1,r,rig);
}
std::vector<signed> restore_permutation(signed n, signed w, signed r) {
::n=n; ans.resize(n);
gen(0,n-1);
compile_set();
vi a; f0r(i,n)a.pb(i); find(0,n-1,a);
return ans;
}
컴파일 시 표준 에러 (stderr) 메시지
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... |