제출 #878902

#제출 시각아이디문제언어결과실행 시간메모리
878902HuyQuang_re_ZeroUnscrambling a Messy Bug (IOI16_messy)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #define ll long long #define db long double #define II pair <ll,ll> #define III pair <ll,II> #define IV pair <vector <int>,vector <int> > #define TII pair <treap*,treap*> #define fst first #define snd second #define BIT(x,i) ((x>>i)&1) #define pi acos(-1) #define to_radian(x) (x*pi/180.0) #define to_degree(x) (x*180.0/pi) #define Log(x) (31-__builtin_clz((int)x)) #define LogLL(x) (63-__builtin_clzll((ll)x)) #include "messy.h" using namespace std; /* struct Interactive { int n=4,p[4]={ 2,1,3,0 }; map <string,bool> have; void add(string a) { string s=""; for(int i=0;i<n;i++) s+=a[p[i]]; have[s]=1; } bool check(string s) { return have[s]; } } IR; void add_element(string s) { IR.add(s); } bool check_element(string s) { return IR.check(s); } */ int n,a[100005]; void Add(int l,int r) { if(l==r) return ; int mid=(l+r)>>1,i; string s=""; for(i=0;i<n;i++) s+="0"; for(i=0;i<n;i++) if(i<l || i>r) s[i]='1'; for(i=l;i<=mid;i++) { s[i]='1'; add_element(s); s[i]='0'; } Add(l,mid); Add(mid+1,r); } void Fill(int l,int r,vector <int> our) { if(l==r) { a[our[0]]=l; return ; } vector <int> v1,v2; map <int,bool> have; for(int i:our) have[i]=1; string s=""; int mid=(l+r)>>1,i; for(i=0;i<n;i++) s+="0"; for(i=0;i<n;i++) if(have[i]==0) s[i]='1'; for(int i:our) { s[i]='1'; if(check_element(s)) v1.push_back(i); else v2.push_back(i); s[i]='0'; } Fill(l,mid,v1); Fill(mid+1,r,v2); } void restore_permutation(int _n,int w,int r,int p[]) { n=_n; vector <int> vec; Add(0,n-1); compile_set(); for(int i=0;i<n;i++) vec.push_back(i); Fill(0,n-1,vec); for(int i=0;i<n;i++) p[i]=a[i]; } /* int main() { freopen("messy.inp","r",stdin); freopen("messy.out","w",stdout); int n,w,r,p[105],i; cin>>n>>w>>r; restore_permutation(n,w,r,p); for(i=0;i<n;i++) cout<<p[i]<<" "; } */

컴파일 시 표준 에러 (stderr) 메시지

/usr/bin/ld: /tmp/ccVeCTd8.o: in function `main':
grader.cpp:(.text.startup+0x1b4): undefined reference to `restore_permutation(int, int, int)'
collect2: error: ld returned 1 exit status