Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:天呐,数组开小了,就一直给我WAIn Reply To:哪位高手帮忙看看哪里错了啊! Posted by:Jeymar at 2011-08-19 20:40:17 > # include <iostream> > # include <string.h> > using namespace std; > > char D[30][30][30]={0}; > bool used[30][30][30]; > int dx[6]={-1,0,0,0,0,1}; > int dy[6]={0,-1,0,0,1,0}; > int dz[6]={0,0,-1,1,0,0}; > int l=0,r=0,c=0; > int sx,sy,sz,ex,ey,ez; > int time=0; > > struct point > { > int x,y,z; > }; > > struct point qu[100000]; > > void bfs() > { > int head=0,tail=0,head2=0,i=0; > bool reach=false; > memset(qu,0,sizeof(qu)); > qu[head].x=sx; > qu[head].y=sy; > qu[head].z=sz; > head++; > used[sx][sy][sz]=true; > while(tail < head) > { > if(used[ex][ey][ez]) > { > reach=true; > break; > } > head2=head; > time++; > while(tail < head2) > { > struct point tem1=qu[tail]; > tail++; > for(i=0;i<6;i++) > { > struct point tem2; > tem2.x=tem1.x+dx[i]; > tem2.y=tem1.y+dy[i]; > tem2.z=tem1.z+dz[i]; > if(tem2.x>=0 && tem2.y>=0 && tem2.z>=0 && tem2.x<l && tem2.y<r && tem2.z<c && D[tem2.x][tem2.y][tem2.z] != '#' && !used[tem2.x][tem2.y][tem2.z]) > { > used[tem2.x][tem2.y][tem2.z]=true; > qu[head]=tem2; > head++; > } > } > } > } > if(reach == false) > time=-1; > } > > int main() > { > int i=0,j=0,k=0; > while(scanf("%d%d%d",&l,&r,&c)!=EOF && l && r && c) > { > memset(used,0,sizeof(used)); > > for(i=0;i<l;i++) > { > for(j=0;j<r;j++) > { > scanf("%s",D[i][j]); > } > } > for(i=0;i<l;i++) > { > for(j=0;j<r;j++) > { > for(k=0;k<c;k++) > { > if(D[i][j][k] == 'S') > { > sx=i; > sy=j; > sz=k; > } > else if(D[i][j][k] == 'E') > { > ex=i; > ey=j; > ez=k; > } > } > } > } > time=0; > bfs(); > if(time==-1) > printf("Trapped!\n"); > else > printf("Escaped in %d minute(s).\n",time); > } > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator