Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:不知道为什么WA,哪位帮忙看下??给点数据也行……

Posted by wuhuatianbao at 2014-08-20 20:45:21 on Problem 2251
In Reply To:不知道为什么WA,哪位帮忙看下??给点数据也行…… Posted by:42292624 at 2010-03-23 23:28:18
> #include<stdio.h>
> #include<string.h>
> #include<queue>
> using namespace std;
> char space[35][35][35];
> int dir[6][3]={{-1,0,0},{1,0,0},{0,-1,0},{0,1,0},{0,0,-1},{0,0,1}};
> 
> struct T
> {
>     int level;
>     int row;
>     int col;
> };
> queue<T> q;
> T ori,des;
> bool flag;
> int Min;
> int l,r,c;
> int bfs();
> bool check(int ,int ,int);
> 
> int main()
> {
>     int i,j,k,m,n;
>     int level,row,col;
>     while(scanf("%d%d%d",&l,&r,&c)!=EOF&&(level+row+col))
>     {
>         for(i=1;i<=l;i++)
>         {
>             for(j=1;j<=r;j++)
>             {
>                 getchar();
>                 for(k=1;k<=c;k++)
>                 {
>                     scanf("%c",&space[i][j][k]);
>                     if(space[i][j][k]=='S')
>                     {
>                         ori.level=i;
>                         ori.row=j;
>                         ori.col=k;
>                     }
>                     if(space[i][j][k]=='E')
>                     {
>                         des.level=i;
>                         des.row=j;
>                         des.col=k;
>                     }
>                 }
>             }
>             getchar();
>         }
>         while(!q.empty())
>             q.pop();
> 		q.push(ori);
> 		space[ori.level][ori.row][ori.col]='#';
>         flag=false;
>         Min=0;
>         Min=bfs();
>         if(flag==false)
>             printf("Trapped!\n");
>         else
>             printf("Escaped in %d minute(s).\n",Min);
>     }
>     return 0;
> }
> bool check(int level,int row,int col)
> {
>     if(level>0&&level<=l&&row>0&&row<=r&&col>0&&col<=c&&space[level][row][col]!='#')
>         return true;
>     return false;
> }
> 
> int bfs()
> {
>     int i,j,k,m,n;
>     T cur,next;
>     while(!q.empty())
>     {
>         k=q.size();
>         while(k--)
>         {
>             cur=q.front();
>             q.pop();
>             for(i=0;i<6;i++)
>             {
>                 next.level=cur.level+dir[i][0];
>                 next.row=cur.row+dir[i][1];
>                 next.col=cur.col+dir[i][2];
>                 if(check(next.level,next.row,next.col))
>                 {
>                     if(next.level==des.level&&next.row==des.row&&next.col==des.col)
>                     {
>                         flag=true;
>                         Min++;
>                         return Min;
>                     }
> 					space[next.level][next.row][next.col]='#';
>                     q.push(next);
>                 }
>             }
>         }
>         Min++;
>     }
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator