#include<stdio.h> int a[100][100]; int dui[10000][3]; int d[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; char s[101][101]; int main(){ int i,j,k,m,n; int x1,y1,x2,y2,sum; int top,last; int house=0,cow=0; scanf("%d%d\n",&n,&m); for(i=1;i<=n;i++) gets(s[i]); for(i=1;i<=n;i++) for(j=0;j<m;j++) if(s[i][j]=='#') a[i][j+1]=1; for(i=1;i<=n;i++) for(j=1;j<=m;j++) if(a[i][j]==1){ x1=i;y1=j;x2=i;y2=j;a[i][j]=0; top=0;dui[1][1]=x1;dui[1][2]=y1;last=1; sum=1; while(top<=last){ top++; for(k=0;k<4;k++) if(a[dui[top][1]+d[k][0]][dui[top][2]+d[k][1]]==1){ last++; dui[last][1]=dui[top][1]+d[k][0]; dui[last][2]=dui[top][2]+d[k][1]; a[dui[last][1]][dui[last][2]]=0; sum++; if(dui[last][1]>x2)x2=dui[last][1]; if(dui[last][2]>y2)y2=dui[last][2]; if(dui[last][1]<x1)x1=dui[last][1]; if(dui[last][2]<y1)y1=dui[last][2]; } } if((x2-x1+1)*(y2-y1+1)==sum) house++; else cow++; } printf("%d\n%d\n",house,cow); return 0; } /************************************************************** Problem: 1440 User: admin Language: C Result: Accepted Time:93 ms Memory:1312 kb ****************************************************************/