Submission #18626

#TimeUsernameProblemLanguageResultExecution timeMemory
18626ggohTropical Garden (IOI11_garden)C++98
Compilation error
0 ms0 KiB
#include "garden.h" #include<cstdio> #include<algorithm> #include<cstring> #include<deque> #include<vector> int a,b,c,t,h,p,q,check,p1,q1,y,z,sz1,sz2,v[150003][2],ch[150003][2],back1[300003],back2[300003],x[150003][2],D[150003][2],cycle[150003][2]; void count_routes(int N,int M,int P,int R[][2],int Q,int G[]) { a=N;b=M; c=P; for(int i=0;i<b;i++) { if(x[R[i][0]+1][0]==0)x[R[i][0]+1][0]=R[i][1]+1; else if(x[R[i][0]+1][1]==0)x[R[i][0]+1][1]=R[i][1]+1; if(x[R[i][1]+1][0]==0)x[R[i][1]+1][0]=R[i][0]+1; else if(x[R[i][1]+1][1]==0)x[R[i][1]+1][1]=R[i][0]+1; } p=c;q=0;t=0; D[p][q]=0; ch[p][q]=1; v[p][q]=1; p1=-1;q1=-1; while(1) { if(q==0)p1=x[p][0]; else p1=x[p][1]; if(p==x[p1][0])q1=1; else q1=0; if(p1==c&&q1==0)break; else { if(v[p1][q1]==1)break; v[p1][q1]=1; p=p1;q=q1; t++; } } if(p1==c&&q1==0) { p=c;q=0; while(1) { if(q==0)p1=x[p][0]; else p1=x[p][1]; if(p==x[p1][0])q1=1; else q1=0; if(p1==c&&q1==0)break; p=p1;q=q1; ch[p][q]=1; D[p][q]=t;t--; } } memset(v,0,sizeof(v)); p=c;q=1;t=0; D[p][q]=0; ch[p][q]=1; v[p][q]=1; p1=-1;q1=-1; while(1) { if(q==0)p1=x[p][0]; else p1=x[p][1]; if(p==x[p1][0])q1=1; else q1=0; if(p1==c&&q1==1)break; else { if(v[p1][q1]==1)break; v[p1][q1]=1; p=p1;q=q1; t++; } } if(p1==c&&q1==1) { p=c;q=1; while(1) { if(q==0)p1=x[p][0]; else p1=x[p][1]; if(p==x[p1][0])q1=1; else q1=0; if(p1==c&&q1==1)break; p=p1;q=q1; if(ch[p][q]==0){ ch[p][q]=1; D[p][q]=t; } else if(D[p][q]>t) { D[p][q]=t; } t--; } } memset(v,0,sizeof(v)); for(int i=1;i<=a;i++) { for(int j=0;j<2;j++) { if(ch[i][j])continue; p=i;q=j;t=0; v[i][j]=1; while(1) { if(q==0)p1=x[p][0]; else p1=x[p][1]; if(p==x[p1][0])q1=1; else q1=0; t++; if(ch[p1][q1])break; else if(v[p1][q1])break; p=p1;q=q1; v[p][q]=1; } if(ch[p1][q1]) { y=p1;z=q1; p=i;q=j;t=0; ch[p][q]=1; D[p][q]=D[y][z]+t; while(1) { if(q==0)p1=x[p][0]; else p1=x[p][1]; if(p==x[p1][0])q1=1; else q1=0; t--; if(p1==y&&q1==z)break; p=p1;q=q1; ch[p][q]=1; D[p][q]=D[y][z]+t; } } } } int ans; for(int i=0;i<Q;i++) { ans=0; for(int j=1;j<=a;j++) { if(ch[j][0]&&D[j][0]==G[i]) { ans++; } } answer(ans); } }

Compilation message (stderr)

garden.cpp: In function 'void count_routes(int, int, int, int (*)[2], int, int*)':
garden.cpp:152:9: error: 'answer' was not declared in this scope
         answer(ans);
         ^~~~~~
garden.cpp:152:9: note: suggested alternative: 'ans'
         answer(ans);
         ^~~~~~
         ans