제출 #986310

#제출 시각아이디문제언어결과실행 시간메모리
986310Pyqe열대 식물원 (Tropical Garden) (IOI11_garden)C++17
컴파일 에러
0 ms0 KiB
#include "garden.h" #include <bits/stdc++.h> using namespace std; long long n,rt,cr,pr[300069],nr[300069],cl[2],inf=1e18; bitset<300069> vtd; vector<long long> al[300069],vl[2][300069]; void dfs(long long x) { long long i,sz=al[x].size(),l; for(i=0;i<sz;i++) { l=al[x][i]; if(l!=n*cr+rt) { nr[l]=nr[x]+1; dfs(l); } else { cl[cr]=nr[x]+1; } } } void count_routes(int on,int m,int rtt,int ed[][2],int t,int qq[]) { long long rr,i,ii,iii,k,l,z; n=on; rt=rtt; for(i=0;i<m;i++) { k=ed[i][0]; l=ed[i][1]; for(ii=0;ii<2;ii++) { for(iii=0;iii<2;iii++) { if(!vtd[n*iii+k]) { pr[n*iii+k]=n*!vtd[l]+l; break; } } swap(k,l); } for(ii=0;ii<2;ii++) { vtd[n*vtd[k]+k]=1; swap(k,l); } } for(i=0;i<n*2;i++) { if(!vtd[i]) { pr[i]=pr[i-n]; } al[pr[i]].push_back(i); } for(ii=0;ii<2;ii++) { cr=ii; for(i=0;i<n*2;i++) { nr[i]=inf; } cl[ii]=inf; nr[n*ii+rt]=0; dfs(n*ii+rt); for(i=0;i<n;i++) { vl[ii][nr[i]%cl[ii]].push_back(nr[i]); } for(i=0;i<min(cl[ii],n);i++) { sort(vl[ii][i].begin(),vl[ii][i].end()); } } for(rr=0;rr<t;rr++) { z=0; for(ii=0;ii<2;ii++) { k=qq[rr]%cl[ii]; if(k<n) { z+=upper_bound(vl[ii][k].begin(),vl[ii][k].end(),qq[rr])-vl[ii][k].begin(); } } answer(z); } }

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

garden.cpp: In function 'void count_routes(int, int, int, int (*)[2], int, int*)':
garden.cpp:95:3: error: 'answer' was not declared in this scope
   95 |   answer(z);
      |   ^~~~~~