zoj1709-Oil Deposits

来源:互联网 发布:三维软件培训机构 编辑:程序博客网 时间:2024/06/02 13:02

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=709

#include<stdio.h>#include<math.h>const int maxn = 1005 ;char mapp[ maxn ][ maxn ] ;int dir[ 8 ][ 2 ] ={ {-1 , -1} , { -1 , 0 } , { -1 , 1 } ,  { 0 , 1 } , { 1 , 1 } , { 1 , 0 } ,{ 1, -1},{ 0 , -1} } ;int n , m ;int dfs( int si , int sj ){mapp[ si ][ sj ] = '*' ;for( int i = 0 ; i < 8 ; i++ ){int xi = si + dir[ i ][ 0 ] ;int yi = sj + dir[ i ][ 1 ] ;if( xi < 0 || yi < 0 || xi >= n || yi >= m )continue ;if( mapp[ xi ][ yi ] == '@')dfs( xi , yi ) ;}}int main(){int sum ;int i , j ;while(1){ scanf( "%d%d" , &n , &m ) ;if(n == 0  ) break;for( i= 0 ; i < n ; i++ ){scanf( "%s" , mapp[ i ] ) ;}sum = 0 ;for( i = 0 ; i < n ; i++ )for( j = 0 ; j < m ;j++ ){if( mapp[ i ][ j ] == '@' ){dfs( i , j );sum ++ ;}}printf( "%d\n" , sum );}return 0 ;} 


原创粉丝点击