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

啊啊啊啊,这个问题卡我两个小时,最后才发现,我写的代码有bug,最后终于解决,附上代码

Posted by love_5u at 2019-06-04 09:02:51 on Problem 1979
#include<cstdio>
 int dx[4]={0,0,-1,1};
 int dy[4]={1,-1,0,0};
 int temps,r,c;
 char tiles[21][21];
 void dfs(int x,int y)
 {
     int nx,ny;
     temps++;
     tiles[x][y]='#';
     for(int i=0;i<4;i++)
     {
         nx=x+dx[i];
         ny=y+dy[i];
         if(nx>=1&&nx<=r&&ny>=1&&nx<=c&&tiles[nx][ny]=='.')
            dfs(nx,ny);
     }
 }
 int main()
 {
     int x,y;
     while(scanf("%d%d",&c,&r)!=EOF&&r&&c)
     {
         for(int i=1;i<=r;i++)
         {
             getchar();
             for(int j=1;j<=c;j++)
             {
                 scanf("%c",&tiles[i][j]);
                 if(tiles[i][j]=='@')
                    {
                        x=i;
                        y=j;
                    }
             }
         }
         temps=0;
         dfs(x,y);
         printf("%d\n",temps);
     }
     return 0;
 }

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