记录编号 |
279614 |
评测结果 |
AAAAAAAAAAAAAEAAAAAA |
题目名称 |
[入门经典] 黑白图像 |
最终得分 |
95 |
用户昵称 |
Hakurou! |
是否通过 |
未通过 |
代码语言 |
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();