NYOJ 27 水池数目

    xiaoxiao2021-12-14  21

    应该是最简单的搜索题了,四个方向一搜直接过。

    #include<stdio.h> #include<string.h> int s, t, a[101][101]; int dx[4] = {0,0,1,-1}; int dy[4] = {1,-1,0,0}; void dfs(int x, int y) { a[x][y] = 0; for(int k = 0; k < 4; k++) { s = x + dx[k]; t = y + dy[k]; if(a[s][t]) dfs(s,t); } } int main() { int T, n, m, i, j, count; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); memset(a,0,sizeof(a)); count = 0; for(i = 1; i <= n; i++) { for(j = 1; j <= m;j++) { scanf("%d",&a[i][j]); } } for(i = 1; i <= n; i++) { for(j = 1; j <= m;j++) { if(a[i][j]) { dfs(i,j); count++; } } } printf("%d\n",count); } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-969543.html

    最新回复(0)