细胞
来源:互联网 发布:仿mac桌面软件 编辑:程序博客网 时间:2024/04/30 02:15
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
const int d[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
using namespace std;
struct node{
int x,y;
}q[10100];
int f[1005][1005];
int main(){
int i,j,k,m,n,ans;
char now;
char c;
cin>>n>>m;
c=getchar();
for(i=1;i<=n;i++,c=getchar())
{
for(j=1;j<=m;j++){
cin>>now;
f[i][j]=now-'0';
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(f[i][j]){
ans++;
int a=1,b=1;
q[a].x=i;
q[a].y=j;
f[i][j]=0;
while(a<=b){
for(k=0;k<=3;k++){
int u=q[a].x+d[k][0],v=q[a].y+d[k][1];
if(f[u][v]){
q[++b].x=u;
q[b].y=v;
f[u][v]=0;
}
}
a++;
}
}
}
}
cout<<ans;
return 0;
}
#include<cstdio>
#include<cstring>
#include<cmath>
const int d[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
using namespace std;
struct node{
int x,y;
}q[10100];
int f[1005][1005];
int main(){
int i,j,k,m,n,ans;
char now;
char c;
cin>>n>>m;
c=getchar();
for(i=1;i<=n;i++,c=getchar())
{
for(j=1;j<=m;j++){
cin>>now;
f[i][j]=now-'0';
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(f[i][j]){
ans++;
int a=1,b=1;
q[a].x=i;
q[a].y=j;
f[i][j]=0;
while(a<=b){
for(k=0;k<=3;k++){
int u=q[a].x+d[k][0],v=q[a].y+d[k][1];
if(f[u][v]){
q[++b].x=u;
q[b].y=v;
f[u][v]=0;
}
}
a++;
}
}
}
}
cout<<ans;
return 0;
}
0 0
- 细胞
- 细胞
- 细胞
- 文学细胞
- 艺术细胞
- 细胞自动机
- 细胞工作室
- 细胞个数
- QUSTOJ1230:细胞
- 查找细胞
- 细胞分割
- 查找细胞
- 细胞数量
- 细胞问题
- 细胞问题
- OpenCV-识别细胞图中的细胞总数
- 并行实现细胞自动机
- 细胞模拟程序
- Linux 挂载(nfs)
- C++ primer plus 学习笔记
- 三栏布局(两边固定,中间自适应)
- poj_1089Intervals
- 算法&大数据--(1)求交集
- 细胞
- 类的包访问权限:《Java编程思想》中一段话的困惑
- VS2010+SQlite+EF 四、常用操作
- express4 router用法详解
- 通过Scanner从控制台获取数据
- 一起来聊聊虚拟红包的技术实现
- 人脸识别之特征脸识别方法EigenFace
- 浅谈Java中的对象和引用
- 优化集合在开发中的使用