文章

82

粉丝

344

获赞

28

访问

696.0k

头像
BFS求连通块个数
P1564 中国科学院大学2021年机试题
发布于2021年2月3日 15:46
阅读数 8.6k

#include<iostream>
#include<string.h>
#include<queue>
using namespace std;

struct node{
    int x,y;
};

queue <node> q;
int dx[8]={0,0,1,-1,1,-1,1,-1};
int dy[8]={1,-1,0,0,1,1,-1,-1};

int m,n;
char map[105][105];
void bfs(int sx,int sy){
    q.push(node{sx,sy});
    map[sx][sy]='*';
    while(!q.empty()){
        node tt=q.front();
        q.pop();
        for(int i=0;i<8;i++){
            int xx=tt.x+dx[i];
            int yy=tt.y+dy[i];
            if(xx>=1&&xx<=m&&yy>=1&&yy<=n&&map[xx][yy]=='@'){
                map[xx][yy]='...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发