제출 #127587

#제출 시각아이디문제언어결과실행 시간메모리
127587TadijaSebezICC (CEOI16_icc)C++11
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back const int N=105; int A[N],B[N]; int Ask(vector<int> a, vector<int> b) { for(int i=0;i<a.size();i++) A[i]=a[i]; for(int i=0;i<b.size();i++) B[i]=b[i]; return query(a.size(),b.size(),A,B); } int p[N]; int Find(int x){ return p[x]==x?x:p[x]=Find(p[x]);} void Union(int x, int y){ p[Find(x)]=Find(y);} void init(){ for(int i=0;i<N;i++) p[i]=i;} bool use[N]; vector<int> Reduce(vector<int> x, vector<int> y) { while(x.size()>1) { vector<int> v[2]; for(int i=0;i<x.size();i++) v[i&1].pb(x[i]); if(Ask(v[0],y)) x=v[0]; else x=v[1]; } return x; } void run(int n) { srand(time(0)); for(int t=1;t<n;t++) { vector<int> root,v[2]; for(int i=1;i<=n;i++) if(Find(i)==i) root.pb(i); while(1) { random_shuffle(root.begin(),root.end()); for(int i=0;i<root.size();i++) use[root[i]]=i&1; v[0].clear(); v[1].clear(); for(int i=1;i<=n;i++) v[use[Find(i)]].pb(i); if(Ask(v[0],v[1])) break; } v[0]=Reduce(v[0],v[1]); v[1]=Reduce(v[1],v[0]); setRoad(v[0][0],v[1][0]); Union(v[0][0],v[1][0]); } }

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

icc.cpp: In function 'int Ask(std::vector<int>, std::vector<int>)':
icc.cpp:8:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<a.size();i++) A[i]=a[i];
              ~^~~~~~~~~
icc.cpp:9:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<b.size();i++) B[i]=b[i];
              ~^~~~~~~~~
icc.cpp:10:9: error: 'query' was not declared in this scope
  return query(a.size(),b.size(),A,B);
         ^~~~~
icc.cpp: In function 'std::vector<int> Reduce(std::vector<int>, std::vector<int>)':
icc.cpp:22:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<x.size();i++) v[i&1].pb(x[i]);
               ~^~~~~~~~~
icc.cpp: In function 'void run(int)':
icc.cpp:38:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int i=0;i<root.size();i++) use[root[i]]=i&1;
                ~^~~~~~~~~~~~
icc.cpp:46:3: error: 'setRoad' was not declared in this scope
   setRoad(v[0][0],v[1][0]);
   ^~~~~~~