题目
信息学奥赛一本通(C++版)在线评测系统
思路
这是一道典型的bfs染色问题,先遍历数组,只要没有标记为1,就开始bfs染色,最后输出color数量
接下来,咱就来把代码拆开来看看:
1. 准备工作,设置地图数组,vis数组,还有bfs的偏移量
char a[11000][11000]; //地图 int vis[110][110]; //记录路径,有没有到过 int dx[4]={0,0,1,-1}; //偏移量 int dy[4]={1,-1,0,0}; int n,m,color=0; //color染色数 //结构体 struct point{ int x,y; }; queue <point> q; //bfs队列
2. main函数内部 重点讲讲后面的,先遍历地图,只要找到符合要求的(a不是0),而且没去过(vis是0),就开始bfs广度优先搜索
int main(){ cin>>n>>m; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cin>>a[i][j]; } } for(int i=0;i<n;i&#
今天的文章
信息学奥赛一本通1329:细胞分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/99739.html