// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> using namespace std; void dfs(char a[120][120], int n, int m) { a[n][m] = 0; if (a[n + 1][m] == '1') dfs(a, n + 1, m); if (a[n -1 ][m] == '1') dfs(a, n - 1, m); if (a[n + 1][m-1] == '1') dfs(a, n + 1, m-1); if (a[n - 1][m-1] == '1') dfs(a, n - 1, m-1); if (a[n + 1][m + 1] == '1') dfs(a, n + 1, m + 1); if (a[n - 1][m + 1] == '1') dfs(a, n - 1, m + 1); if (a[n ][m-1] == '1') dfs(a, n , m-1); if (a[n ][m+1] == '1') dfs(a, n, m+1); } int main() { int n,m; char a[120][120]; int cot = 0; while (cin >> n>>m) { if (n == 0 & m == 0) { break; } int cot = 0; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (a[i][j] == '1') { dfs(a, i, j); cot++; } } } cout << cot << endl; } } |
Double click to view unformatted code.