#include "stdio.h" #include "stdlib.h" #define MAXNUM 125 char pic[MAXNUM][MAXNUM] ; int m , n ,idx[MAXNUM][MAXNUM] ; void dfs(int r , int c , int id) { int dr , dc ; if( r < 0 || r>= m || c< 0 || c >= n) return ; if(idx[r][c] > 0 || pic[r][c] != '1') return ; idx[r][c] = id ; for( dr = -1 ; dr <=1 ; dr++) for( dc = -1 ; dc <= 1 ; dc++) if( dr != 0 || dc != 0 )dfs(r+ dr , c+dc , id ) ; } int main(void) { int cnt =0 , i = 0 , j = 0; while( scanf("%d %d" , &m , &n) == 2 && m && n) { int cnt = 0 ; for( i =0 ; i <m ;i ++) scanf("%s" , pic[i]); memset(idx , 0 , sizeof(idx)) ; for( i =0 ; i <m ; i++ ) for( j =0 ; j < n ; j++) if( idx[i][j] == 0 && pic[i][j] == '1') dfs(i , j , ++ cnt) ; printf("%d" , cnt); } return 0 ; } /* Main.cc: In function ‘int main()’: Main.cc:28:31: error: ‘memset’ was not declared in this scope memset(idx , 0 , sizeof(idx)) ; ^ Main.cc:23:6: warning: unused variable ‘cnt’ [-Wunused-variable] int cnt =0 , i = 0 , j = 0; ^ */ |
Double click to view unformatted code.