| ||||||||||
| 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