ZOJ 1709 - Oil Deposits

 1  /*  Accepted 1709 C++ 00:00.02 848K  */
 2  #include  < iostream >
 3 
 4  using   namespace  std;
 5 
 6  int  n, m;
 7  char  map[ 100 ][ 100 ];
 8 
 9  void  floodfill( int  x,  int  y)
10  {
11      map[x][y]  =   ' * ' ;
12       for ( int  i  =  x  -   1 ; i  <=  x  +   1 ; i ++ if (i  >=   0   &&  i  <  n)
13       for ( int  j  =  y  -   1 ; j  <=  y  +   1 ; j ++ if (j  >=   0   &&  j  <  m)
14           if (map[i][j]  ==   ' @ ' )
15              floodfill(i, j);
16  }
17 
18  int  main()
19  {
20       while ((cin  >>  n  >>  m)  &&  n)
21      {
22           for ( int  i  =   0 ; i  <  n; i ++ )
23               for ( int  j  =   0 ; j  <  m; j ++ )
24                  cin  >>  map[i][j];
25          
26           int  cnt  =   0 ;
27           for ( int  i  =   0 ; i  <  n; i ++ )
28               for ( int  j  =   0 ; j  <  m; j ++ )
29                   if (map[i][j]  ==   ' @ ' )
30                  {
31                      cnt ++ ;
32                      floodfill(i, j);
33                  }
34          cout  <<  cnt  <<  endl;
35      }
36      
37       return   0 ;
38  }
39 

你可能感兴趣的:(ZOJ 1709 - Oil Deposits)