제출 #151912

#제출 시각아이디문제언어결과실행 시간메모리
151912MvCICC (CEOI16_icc)C++11
61 / 100
231 ms696 KiB
#pragma GCC target("avx2") #pragma GCC optimization("O3") #pragma GCC optimization("unroll-loops") #include<bits/stdc++.h> #include "icc.h" #define rc(x) return cout<<x<<endl,0 #define pb push_back #define mkp make_pair #define in insert #define er erase #define fd find #define fr first #define sc second typedef long long ll; typedef long double ld; const ll INF=0x3f3f3f3f3f3f3f3f; const ll llinf=(1LL<<61); const int inf=(1<<30); const int nmax=1e2+50; const int mod=1e9+7; using namespace std; int n,i,sa,sb,aa[nmax],ab[nmax],j,edd,va[nmax],m; vector<int>a[nmax],vc; vector<vector<int> >cc; bitset<nmax>viz; int qry(int sa,int sb,int aa[],int ab[]) { return query(sa,sb,aa,ab); cout<<"?"<<endl; for(int i=0;i<sa;i++)cout<<aa[i]<<" "; cout<<endl; for(int i=0;i<sb;i++)cout<<ab[i]<<" "; cout<<endl; int x; cin>>x; return x; } /*void setRoad(int x,int y) { cout<<"! "<<x<<" "<<y<<endl; }*/ void dfs(int x) { viz[x]=1; vc.pb(x); for(int i=0;i<a[x].size();i++) { int y=a[x][i]; if(viz[y])continue; dfs(y); } } void dc(int l,int r,int ar[],int lb,int st[]) { if(l==r) { vc.pb(ar[l]); return; } int mid=(l+r)/2; int xa=0; for(int i=l;i<=mid;i++)va[xa++]=ar[i]; if(qry(xa,lb,va,st))dc(l,mid,ar,lb,st); else dc(mid+1,r,ar,lb,st); } void run(int N) { srand(time(0)); n=N; for(edd=1;edd<n;edd++) { viz.reset(); cc.clear(); for(i=1;i<=n;i++) { if(viz[i])continue; vc.clear(); dfs(i); cc.pb(vc); } m=((int)cc.size()-1)/2; while(1) { random_shuffle(cc.begin(),cc.end()); sa=sb=0; for(i=0;i<=m;i++) { for(j=0;j<cc[i].size();j++)aa[sa++]=cc[i][j]; } for(;i<cc.size();i++) { for(j=0;j<cc[i].size();j++)ab[sb++]=cc[i][j]; } if(qry(sa,sb,aa,ab))break; } vc.clear(); dc(0,sa-1,aa,sb,ab); dc(0,sb-1,ab,sa,aa); setRoad(vc[0],vc[1]); a[vc[0]].pb(vc[1]); a[vc[1]].pb(vc[0]); } } /*int main() { //freopen("sol.in","r",stdin); //freopen("sol.out","w",stdout); //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0); int z; cin>>z; run(z); return 0; }*/

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

icc.cpp:2:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("O3")
 
icc.cpp:3:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("unroll-loops")
 
icc.cpp: In function 'void dfs(int)':
icc.cpp:46:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<a[x].size();i++)
              ~^~~~~~~~~~~~
icc.cpp: In function 'void run(int)':
icc.cpp:88:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(j=0;j<cc[i].size();j++)aa[sa++]=cc[i][j];
             ~^~~~~~~~~~~~~
icc.cpp:90:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(;i<cc.size();i++)
         ~^~~~~~~~~~
icc.cpp:92:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(j=0;j<cc[i].size();j++)ab[sb++]=cc[i][j];
             ~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...