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

网站后台信息维护要怎么做专业建站网产品网络推广

网站后台信息维护要怎么做,专业建站网产品网络推广,什么叫网站优化,自用网站开发费用会计分录提示#xff1a; 橙色字体为需要注意部分#xff0c;红色字体为难点部分#xff0c;会在文章“重难点解答”部分精讲。 题目链接 蓝桥杯2023年第十四届省赛真题-岛屿个数 - C语言网 题目理解 这道题让我们求岛屿个数#xff0c;那么我们就应该先弄懂#xff0c;对于一…    提示 橙色字体为需要注意部分红色字体为难点部分会在文章“重难点解答”部分精讲。 题目链接 蓝桥杯2023年第十四届省赛真题-岛屿个数 - C语言网 题目理解  这道题让我们求岛屿个数那么我们就应该先弄懂对于一个岛的定义是什么。我当时就因为没弄明白这个困扰很久所以会将细一点 让我们直观感受下 上图所示情形是一个岛因为外面有了一圈陆地将里面的小陆地包围了起来你可以想象成海岛中的池子中有一块大石头右边的图是我p的是丑了点主要为了便于理解。 而如果是以下情形就变成了两个岛 你可以理解为海水流动性更强而海岛的岩石又不可能衔接的严丝合缝。海水从那个缺口的地方流了进去因此中间小块陆地并没有被外圈陆地包围这种情况下是两个岛。 那么不难理解题目当中给出的第二组示例为什么是3个岛了吧 话不多说我们继续向下进行。 解题思路  1.核心思想 我们用题目给出的第二组用例来讲如下呢就是地图。 然后我们以00为起点使用dfs将外海全部标记为2为了确保00是外海且外海是相通的方便dfs展开我们将地图外部扩展一圈0。 dfs展开将外海全部标记为2 完成 然后对全图进行查找如果有满足标记为‘1’的陆地且与外海相邻对其进行dfs展开标记为3。每进行一次dfs岛屿个数就加1。 2.具体做法  这段代码的思路是通过深度优先搜索DFS来解决问题。下面是代码的详细解释 首先定义了一个二维数组map来表示地图其中map表示格子的状态。0表示海洋1表示未标记的陆地2表示已标记的海洋3表示已标记的陆地。 接下来定义了两个递归函数dfs_sea和dfs_island用于进行深度优先搜索。 dfs_sea函数用于将外海的格子标记为2。从给定的坐标(0, 0)开始如果当前格子是未访问的海洋即map[x][y] 0则将其标记为2并递归调用dfs_sea函数对周围的8个格子进行展开。 dfs_island函数用于将与外海相连的未标记的陆地格子标记为3。从给定的坐标(j, k)开始如果当前格子是未标记的陆地且该格子的上一个上下左右都可以我这里用的是上格子为外海即(1map[j][k])(2map[j-1][k])则将其标记为3并递归调用dfs_island函数对周围的4个格子进行展开。 接下来将二维数组map全部初始化为0。 调用dfs_sea函数从坐标(0, 0)开始将外海的格子标记为2。 接下来使用嵌套循环遍历地图的每个格子如果某个格子是未标记的陆地且与外海相连即当前格子为1上方格子为2则调用dfs_island函数对该陆地进行标记并将计数器count加1。 最后输出计数器count的值表示与外海相连的未标记陆地的数量。 完整代码  #includestdio.h int m,n,map[52][52]; void dfs_sea(int x,int y) {if((x0xm1)(y0yn1)){if(0map[x][y])//海水是周围8块进行展开{map[x][y]2;dfs_sea(x,y1);dfs_sea(x,y-1);dfs_sea(x1,y);dfs_sea(x1,y1);dfs_sea(x1,y-1);dfs_sea(x-1,y);dfs_sea(x-1,y1);dfs_sea(x-1,y-1);}} } void dfs_island(int x,int y) {if((x0xm1)(y0yn1)){if(1map[x][y])//陆地是周围4块进行展开{map[x][y]3;dfs_island(x1,y); dfs_island(x-1,y); dfs_island(x,y1);dfs_island(x,y-1);}} } main() {int number;scanf(%d,number);for(int i0;inumber;i){int count0;scanf(%d%d,m,n);for(int j0;jm1;j)//将数组全部初始化为0{for(int k0;kn1;k){map[j][k]0;}}for(int j1;jm;j)//输入地图{for(int k1;kn;k){scanf(%1d,map[j][k]);/*‘%1d’的含义为输入长度为1的整形如果不限制长度则‘11101’会被当场一个数据而不是5个数据*/}}dfs_sea(0,0); //从00处进行dfs将外海全部标记为数字2for(int j1;jm;j){ for(int k1;kn;k){if((1map[j][k])(2map[j-1][k])) /*当某坐标是未标记过的陆地且其与外海相连对其dfs*/{dfs_island(j,k);count;}}}printf(%d\n,count);} } 重难点解答 为什么海水8方展开陆地4方展开 如果在这里有问题应该回去再看一下题目理解部分。因为海水可以从陆地的缝隙流过去也就是说海水可以斜着进行扩散而陆地却只能上下左右展开。 ———如有问题欢迎评论区提问———
http://www.w-s-a.com/news/230558/

相关文章:

  • 宁波高端建站深圳品牌营销策划机构
  • 权威网站优化价格建设厅科技中心网站首页
  • 保定模板建站软件腾讯云做淘客网站
  • 单位建设一个网站的费用正规刷手机单做任务网站
  • 北京定制网站价格开网店怎么卖到外国
  • 做网站 后端是谁来做的工程建设指挥部网站
  • wordpress建站 云打印昆明 网站设计
  • 太原网站建设设计网站建设策划书(建设前的市场分析)
  • 哪里有制作网站电商新手入门知识
  • 制作网站的后台文昌网站建设 myvodo
  • 网站 购买移动网站制作
  • 南京网站网站建设学校英山做网站多少钱
  • 珠海网站建设网如何注册公司公众号
  • 手机网站页面制作网站怎么做快照
  • asp网站怎么仿站推广软件下载平台
  • 电子商务网站建设期末试题08答案互联网怎么做
  • 规范门户网站的建设和管理办法微信网站开发公司电话
  • 免费行情网站凡客的官网
  • 做网站运营的女生多吗海淀企业网站建设
  • 网站运行环境配置网站建设个一般需要花费多少钱
  • 广西平台网站建设报价wordpress 免费 企业 主题
  • 四川省建设厅职称查询网站辽宁省住房和城乡建设部网站
  • 公司网站后台登陆网站放到云服务器上怎么做
  • 济南 网站定制做网站购买域名
  • 代理分佣后台网站开发怎么用源码做网站视频
  • 天津网站建设招标wordpress七牛图片插件
  • 建设合同施工合同示范文本汕头市网络优化推广平台
  • 网站关键词修改老王搜索引擎入口
  • 那个网站做搬家推广比较好建设部网站办事大厅栏目
  • 做企业销售分析的网站广州网站设计建设