Submission #604597

#TimeUsernameProblemLanguageResultExecution timeMemory
604597BJoozzICC (CEOI16_icc)C++14
Compilation error
0 ms0 KiB
//#include "icc.h"; #include <bits/stdc++.h> using namespace std; #define pb push_back #define X first #define Y second //#define int long long mt19937 rng(time(0)); bool randint(int l,int r){ return uniform_int_distribution < int > (l,r) (rng); } void maxx(int &a,int b){if(b>a) a=b;} void minn(int &a,int b){if(b<a) a=b;} bool cmax(int &a,int b){if(b>a) {a=b;return 1;}return 0;} using ll = long long; using ii = pair < int , int >; const int MAX=100+3,inf=1e9,mod=1e9+7; //int tim=0,sz[MAX]; bitset < MAX > b,C; int pa[MAX]; int A[MAX],B[MAX]; bool ok[MAX][MAX]; /*vector < int > V[MAX]; int query ( int n,int m,int a[],int b[]){ return 1; } void setRoad(int u,int v){cout<<u<<' '<<v<<'\n';}*/ void run(int N){ int n=N; vector < int > vec; for(int i=1;i<=n;i++) pa[i]=i,vec.pb(i); for(int k=1;k<n;k++){ int cn=0,m=0; int M=0; memset(ok,0,sizeof ok); while(1){ for(int z=0;z<100;z++){ for(int i=1;i<=n;i++)b[i]=randint(0,1); cn=0;m=0; shuffle(vec.begin(),vec.end(),rng); for(int i:vec)if(b[pa[i]]) A[cn++]=i;else B[m++]=i; int dem=0; for(int i=0;i<cn;i++) for(int j=0;j<m;j++)dem+=!ok[A[i]][B[j]]; if(cmax(M,dem)) C=b; } cn=0;m=0; shuffle(vec.begin(),vec.end(),rng); for(int i:vec)if(C[pa[i]]) A[cn++]=i;else B[m++]=i; for(int i=0;i<cn;i++) for(int j=0;j<m;j++) ok[A[i]][B[j]]=1; if(query(cn,m,A,B))break; } for(int i=__lg(cn);i>=0;i--) if(cn>(1<<i) && query(cn-(1<<i),m,A,B))cn-=(1<<i); for(int i=__lg(m);i>=0;i--) if(m>(1<<i) && query(cn,m-(1<<i),A,B))m-=(1<<i); int u=A[cn-1],v=B[m-1]; setRoad(u,v); u=pa[u];v=pa[v]; for(int i=1;i<=n;i++) if(pa[i]==v) pa[i]=u; } }

Compilation message (stderr)

icc.cpp: In function 'void run(int)':
icc.cpp:58:16: error: 'query' was not declared in this scope
   58 |             if(query(cn,m,A,B))break;
      |                ^~~~~
icc.cpp:61:29: error: 'query' was not declared in this scope
   61 |             if(cn>(1<<i) && query(cn-(1<<i),m,A,B))cn-=(1<<i);
      |                             ^~~~~
icc.cpp:63:28: error: 'query' was not declared in this scope
   63 |             if(m>(1<<i) && query(cn,m-(1<<i),A,B))m-=(1<<i);
      |                            ^~~~~
icc.cpp:65:9: error: 'setRoad' was not declared in this scope
   65 |         setRoad(u,v);
      |         ^~~~~~~