记录编号 279614 评测结果 AAAAAAAAAAAAAEAAAAAA
题目名称 [入门经典] 黑白图像 最终得分 95
用户昵称 GravatarHakurou! 是否通过 未通过
代码语言 C++ 运行时间 0.253 s
提交时间 2016-07-09 14:46:53 内存使用 1.37 MiB
显示代码纯文本
#include<cmath>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define GET (ch>='0'&&ch<='9')
#define FA(i,a,b) for(i=a;i<=b;i++)
int i,j,k;
using namespace std;
inline void in(int &x)
{
    x=0;int f=1;
    char ch=getchar();
    while(!GET)f=ch=='-'?-1:f,ch=getchar();
    while(GET)x=x*10+ch-'0',ch=getchar();x*=f;
}
int a[705][705],r[705][705]; 
int n,m;
int ans=0;
char s[500000]; 
void lk(int x,int y)  
{
    if(!a[x][y]||r[x][y])return;
    r[x][y]=1;
    lk(x-1,y-1);lk(x,y-1);lk(x+1,y-1);
    lk(x-1,y  );          lk(x+1,y  );
    lk(x-1,y+1);lk(x,y+1);lk(x+1,y+1);
}
int main(){;} 
int EZYMY()
{
    freopen("common.in","r",stdin);
    freopen("common.out","w",stdout);
    in(n);
    for(i=0;i<n;i++)
    {
        memset(s,0,sizeof(s));  
        scanf("%s",s);  
        for(j=0;j<n;j++)
        {
        	if(s[j]=='1')a[i+1][j+1]=1;
            else a[i+1][j+1]=0;
        }
    }
    FA(i,1,n)
    {  
        FA(j,1,n) 
        {
            if(!r[i][j]&&a[i][j])  
            { 
                ans++;
                lk(i,j);
            }
        }
    }
    printf("%d\n",ans);
    //system("pause");
    return 0;
    printf("膜拜楼上神犇!!!"); 
}  
int ezymy=EZYMY();