社区讨论
MLE求调
P1451求细胞数量参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mkgs9iol
- 此快照首次捕获于
- 2026/01/16 19:16 2 个月前
- 此快照最后确认于
- 2026/01/16 19:23 2 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
struct node
{
long long x,y;
};
string a[100];
int n,m,sum=0;
int dx[6]={0,0,-1,1,0};
int dy[6]={0,1,0,0,-1};
queue<node>q;
void bfs(int x,int y)
{
node te;
te.x=x; te.y=y;
q.push(te);
while(!q.empty())
{
node temp=q.front();
q.pop();
a[temp.x][temp.y]='0';
for(int i=1;i<5;i++)
{
int xx=temp.x+dx[i];
int yy=temp.y+dy[i];
if(xx<1||xx>n||yy<0||yy>=m)
continue;
if(a[xx][yy]==0)
continue;
node t;
t.x=xx;
t.y=yy;
q.push(t);
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
for(int j=0;j<m;j++)
{
if(a[i][j]!='0')
{
sum++;
bfs(i,j);
}
}
}
cout<<sum;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...