제출 #605147

#제출 시각아이디문제언어결과실행 시간메모리
605147UncoolAnon캥거루 (CEOI16_kangaroo)C++14
컴파일 에러
0 ms0 KiB
#include "icc.h" #include <bits/stdc++.h> #define pii pair<int,int> #define F first #define S second #define mp make_pair using namespace std; /*int query(int size_a, int size_b, int a[], int b[]){ cout << "first is : " ; for(int i=0;i<size_a;i++) cout << a[i] << " "; cout << endl; cout << "second is : " ; for(int i=0;i<size_b;i++) cout<<b[i]<< " "; cout<<endl; int x ; cin>>x; return x ; } void setRoad(int a,int b){ cout <<"! " << a << " " << b << endl ; return ; }*/ int query(vector<int> a , vector<int> b){ int na=a.size(),nb=b.size(); int* arr1 = new int[na]; for(int i=0;i<na;i++) arr1[i]=a[i]; int* arr2 = new int[nb]; for(int i=0;i<nb;i++) arr2[i]=b[i]; return query(na,nb,arr1,arr2); } void run(int n) { srand(time(0)); vector<int> id,gr[n+1],rid(n+1); for(int i=1;i<=n;i++) {id.push_back(i); gr[i].push_back(i);rid[i]=i;} function<void(vector<int>&,vector<int>)> compose=[&](vector<int>& a,vector<int> b){ for(int&x:b) for(int&node:gr[x]) a.push_back(node); return ; }; for(int i=1;i<n;i++){ vector<pii> in; in.push_back(mp(0,id.size()-1)); random_shuffle(id.begin(),id.end(),rand); int zez=0; while(1){ vector<pii> inF,inS; for(pii&x:in){ inF.push_back(mp(x.F,(x.F+x.S)/2)); inS.push_back(mp((x.F+x.S)/2+1,x.S)); } vector<int> a,b; for(int j=0;j<inF.size();j++){ for(int k=inF[j].F;k<=inF[j].S;k++) compose(a,gr[id[k]]); for(int k=inS[j].F;k<=inS[j].S;k++) compose(b,gr[id[k]]); } if(query(a,b)){ int l=-1,r=a.size(); while(r-l!=1){ int md=(r+l)/2; vector<int> tmp; for(int j=0;j<=md;j++) tmp.push_back(a[j]); if(query(tmp,b)) r=md; else l=md; } int founda=a[r]; l=-1,r=b.size(); while(r-l!=1){ int md=(r+l)/2; vector<int> tmp; for(int j=0;j<=md;j++) tmp.push_back(b[j]); if(query(a,tmp)) r=md; else l=md; } int foundb=b[r]; setRoad(founda,foundb); int kek=-1,lol=-1; for(int j=0;j<id.size();j++) if(id[j]==rid[founda]) kek=j; for(int j=0;j<id.size();j++) if(id[j]==rid[foundb]) lol=j; id.erase(id.begin()+kek); founda=rid[founda]; foundb=rid[foundb]; for(int&x:gr[founda]){ gr[foundb].push_back(x); rid[x]=foundb; } gr[founda].clear(); break; } in.clear(); for(pii&x:inF) if(x.F!=x.S) in.push_back(x); for(pii&x:inS) if(x.F!=x.S) in.push_back(x); } } return ; } /*int main(){ run(7); return 0; }*/

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

kangaroo.cpp:1:10: fatal error: icc.h: No such file or directory
    1 | #include "icc.h"
      |          ^~~~~~~
compilation terminated.