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:求解答 为啥一直WA Posted by:handake at 2020-11-24 11:04:16 > #include<iostream> > #include<cstring> > #include<cstdio> > using namespace std; > > int n,m,h,a[20][20][20]={0},soux,souy,souz,desx,desy,desz,x,y,z; //定义相关变量 > char st[20]; > int xs[100],ys[100],zs[100]; > int u[7] = {0,0,1,0,-1,0,0}, //三个方向 > w[7] = {0,1,0,-1,0,0,0}, > v[7] = {0,0,0,0,0,1,-1}; > int head,tail,num[100]; > > int main(){ > while((cin>>n>>m>>h)&&n&&m&&h){ //都为0时停止 输入长宽高三个参数 > for(int i = 1;i<=n;i++){ // > for(int j = 1;j<=m;j++){ > scanf("%s",st); //输入一行的字符 > for(int z = 1;z<=h;z++){ > if(st[z-1]=='S'){ //开始S开始字符标记 记录坐标 > a[i][j][z] = 0; > souz = i; > souy = j; > soux = z; > }else if(st[z-1]=='.'){ //能够通过标记为0 > a[i][j][z] = 0; > }else if(st[z-1]=='#'){ //不能通过标记为-1 > a[i][j][z] = -1; > }else if(st[z-1] == 'E'){ //结束字符标记为0 记录坐标 > a[i][j][z] = 0; > desz = i; > desy = j; > desx = z; > }else > return 0; > } > } > } > head = 0; //队首指针 > tail = 1; //队尾指针 > bool f = 0; > a[souz][souy][soux] = -1; //将开始坐标标记第一步标记-1 > zs[tail] = souz; > ys[tail] = souy; //记录队尾指针的坐标 > xs[tail] = soux; > while(head<tail){ > head++; //队首指针+1 > // x = soux; //x坐标,y坐标,z坐标 > // y = souy; > // z = souz; > > for(int i = 1;i<=6;i++){ //六个方向进行寻找 > x = xs[head] + u[i]; //x坐标,y坐标,z坐标 > y = ys[head] + w[i]; > z = zs[head] + v[i]; > if((x>0)&&(x<=h)&&(y>0)&&(y<=m)&&(z>0)&&(z<=n)&&(a[z][y][x]==0)){ //判断是否可以前进 > tail++; //队尾指针+1 > zs[tail] = z; //将符合条件的坐标存储到队尾指针指向的数组中 > ys[tail] = y; > xs[tail] = x; > a[z][y][x] = -1; //将走过的坐标标记为-1 > num[tail] = num[head]+1; //记录当前路径的步数 > } > if((x==desx)&&(y==desy)&&(z==desz)){ //到达出口 > f = 1; > cout<<"Escaped in "<<num[tail]<<" minute(s)."<<endl;//输出步数 > break; > } > > } > } > if(!f){ //如果不存在 输出 > cout<<"Trapped!"<<endl; > } > } > return 0; > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator