| ||||||||||
| 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 | |||||||||
求助!这个代码对拍十几组最大数据都是对的,为什么总是WA啊!RT,代码见下。。
#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#include<cstdlib>
using namespace std;
int x,y,z,lans,rans,ans;
bool ext;
char e[32][32][32];
bool vis[32][32][32];
int go[32][32][32];
int move[7][4]={{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}};
struct num{
int x,y,z;
}start,tmp,where;
queue<num> q;
int check(int x,int y,int z){
if(vis[x][y][z] || e[x][y][z]=='#') return 0;
if(e[x][y][z]=='.') return 1;
if(e[x][y][z]=='E') return -1;
}
void did(){
switch(check(where.x,where.y,where.z)){
case 1:
vis[where.x][where.y][where.z]=1;
q.push((num){where.x,where.y,where.z});
go[where.x][where.y][where.z]=go[tmp.x][tmp.y][tmp.z]+1;
break;
case -1:
go[where.x][where.y][where.z]=go[tmp.x][tmp.y][tmp.z]+1;
printf("Escaped in %d minute(s).\n",go[where.x][where.y][where.z]);
ext=1;
break;
}
}
int main(){
freopen("1.in","r",stdin);
freopen("1.out","w",stdout);
turn:
//这两行初始化
memset(vis,0,sizeof(vis));
while(!q.empty()) q.pop();
ext=0;
scanf("%d%d%d",&x,&y,&z);
if(z==0 && x==0 && y==0) return 0;
int i,j,k;
for(i=0;i<x;i++)
for(j=0;j<y;j++){
scanf("%s",e[i][j]);
for(k=0;k<z;k++)
if(e[i][j][k]=='S') start.x=i,start.y=j,start.z=k;
}
q.push(start);
vis[start.x][start.y][start.z]=1;
while(!q.empty()){
tmp=q.front();
q.pop();
for(i=0;i<6;i++){
where.x=tmp.x+move[i][0],
where.y=tmp.y+move[i][1],
where.z=tmp.z+move[i][2];
if(where.x<0 || where.x>=x || where.y<0 || where.y>=y || where.z<0 || where.z>=z) continue;
//cout<<tmp.x<<' '<<tmp.y<<' '<<tmp.z<<" ";
//cout<<where.x<<' '<<where.y<<' '<<where.z<<' ';
did();
//cout<<e[where.x][where.y][where.z]<<'\n';
if(ext) goto tz;
}
}
printf("Trapped!\n");
tz:
goto turn;
return 0;
}
/*
3 4 5
S....
.###.
.##..
###.#
#####
#####
##.##
##...
#####
#####
#.###
####E
*/
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator