当前位置: 首页 > news >正文

网站做优化每天一定要更新/网站推广的四个阶段

网站做优化每天一定要更新,网站推广的四个阶段,直播软件哪个最好用,一天一元网站建设题目描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。&#xff08;1<m,n<100&#xff09;? 输入输出格式 输入格式&#xff1a; 输入&#xff1a;整数m,n(m行&#xff0c;n列) 矩…

题目描述

一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。(1<=m,n<=100)?

 

输入输出格式

输入格式:

 

输入:整数m,n(m行,n列)

矩阵

 

输出格式:

 

输出:细胞的个数

 

BFS新手入门

这是一题裸得十分善良的搜索(善良到无记忆深搜都能快乐AC)


正片:

1.题意阅读:(读入)

一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞。

这就意味着其实这题的读入只有两种分化

①没有细胞②有细胞(熟悉的bool数据)

所以在读入时我们就可以直接进行预处理

if(有细胞)

a[i][j]=1;

else

a[i][j]=0;

2.核心算法:(BFS)

BFS的核心就是找到一个合法节点后将其往外展开,判断后压如队列 (其实我也解释不清,还是看代码意会吧。。。)

//q[..][2]这是一个数组模拟的队列
//c[..][..]是方向数组
void bfs(int i,int j){//发现a[i][j]合法后的处理int head=0,tail=1;ans++;//一个新的细胞q[head][0]=i;q[head][1]=j;//将此合法点作为队首进行记录while(head<tail){//队伍搜完了,完整细胞已完全展开i=q[head][0];j=q[head][1];//队首弹出搜索for(int k=0;k<4;++k){if(a[i+c[k][0]][j+c[k][1]]){//如果这个节点可以访问q[tail][0]=i+c[k][0];q[tail][1]=j+c[k][1];a[q[tail][0]][q[tail][1]]=0;//将已经放进队列等待搜索的数标记成不可走//这样就不会导致重复对一个节点的访问++tail;}}++head;//已搜索节点删除}//一口气搜到没有连接在一起的合法节点
}

这段代码中,蒟蒻是直接将 无细胞 与 已发现节点 归为不可走节点的,全部用a[..][..]进行保存,不过当题目搜索条件复杂时,还是推荐按照条件分类使用多个数组进行保存记录,这样比较清晰。

3.分析

仔细一想好像效率也没比DFS小多少

最后奉上丑陋代码:

#include<bits/stdc++.h>
#define ll long long
using namespace std;
bool a[201][201];
int q[100005][2];
ll m,n,ans;
int c[4][2]={0,1,-1,0,1,0,0,-1};
void bfs(int i,int j){int head=0,tail=1;ans++;q[head][0]=i;q[head][1]=j;while(head<tail){i=q[head][0];j=q[head][1];for(int k=0;k<4;++k){if(a[i+c[k][0]][j+c[k][1]]){q[tail][0]=i+c[k][0];q[tail][1]=j+c[k][1];a[q[tail][0]][q[tail][1]]=0;++tail;}}++head;}
}
int main(){cin>>m>>n;char b;for(int i=1;i<=m;++i){for(int j=1;j<=n;++j){cin>>b;if(b=='0')a[i][j]=0;elsea[i][j]=1;}}for(int i=1;i<=m;++i){for(int j=1;j<=n;++j){if(a[i][j]){bfs(i,j);}}}cout<<ans<<endl;} 

恳请指点鸭     O(∩_∩)O

转载于:https://www.cnblogs.com/crazily/p/10486572.html

http://www.lbrq.cn/news/1246465.html

相关文章:

  • 优质手机网站建设/网站推广多少钱
  • 如何让别人看到自己做的网站/怎么创建一个网址
  • 网站建设 推广 公司/镇江网站建设
  • 网站开发藏汉双语/百度搜索推广采取
  • 网站建设与制作企业/如何注册域名及网站
  • 做网站哪个平台好/朋友圈产品推广文案
  • 网站没有流量怎么回事/英文seo兼职
  • 长春网站建设网站源码/网络销售技巧和话术
  • 企业网站排名技巧/山东工艺美术学院网站建设公司
  • 如何做淘宝客网站/培训机构排名前十
  • vs2008做网站教程/推广产品
  • 玻璃钢产品哪个网站做推广好/贵阳百度seo点击软件
  • 个人主页网站模板/如何创建一个app
  • 安徽鹏华建设工程有限公司网站/qq群推广方法
  • .net 做手机网站吗/湖南网站seo公司
  • 安卓盒子做网站/做关键词优化的公司
  • 济南商城网站建设公司/网页制作软件手机版
  • 电子商务型网站/网络营销的三大核心
  • ks刷粉网站推广马上刷/安徽网络推广和优化
  • 润东电子科技 网站建设/济南网站建设哪家便宜
  • 网站注册用户推广/百度指数免费查询
  • wordpress测试/seo技术是干什么的
  • 深圳住房和建设局网站无法登陆/黑龙江新闻
  • asp技校网站/化妆品软文推广范文
  • 成都企业网站建设及公司ppt/宁波seo外包推广渠道
  • 德州公司做网站/关键词排名监控批量查询
  • 网站能不能用自己的电脑做服务器/网站快速收录入口
  • 朱能源做网站/百度seo怎么把关键词优化上去
  • 公司网站开发 flask/百度博客收录提交入口
  • 做网站解析要多久/今日足球比赛分析推荐
  • ubuntu 镜像克隆
  • 代码随想录Day35:动态规划(背包问题 二维 一维、分割等和子集)
  • 因为想开发新项目了~~要给老Python项目整个虚拟环境
  • DoRA详解:从LoRA到权重分解的进化
  • Day 4-1: 机器学习算法全面总结
  • Spring Cloud Gateway静态路由实战:Maven多模块高效配置指南