首页 > 编程语言 >算法学习

算法学习

时间:2024-03-10 17:45:23浏览次数:34  
标签:bfs sy dx int 学习 算法 && dy

今天复习巩固了深搜和广度搜索,做了几个练习题,其中求细胞数量注意审题,即让我们求连通块的个数。

#include<bits/stdc++.h>
using namespace std;
int x,y;
char m[105][105];
int sx[4]={-1,0,1,0};//左 上 右 下
int sy[4]={0,-1,0,1};

void bfs(int a,int b)
{
m[a][b] = '0';
for(int i=0;i<4;i++)
{
int dx = a+sx[i];
int dy = b+sy[i];
if(m[dx][dy]!='0'&&dx>=0&&dy>=0&&dx<x&&dy<y)
{
bfs(dx,dy);
}
a = dx - sx[i];
b = dy - sy[i];
}
}
int main()
{
cin>>x>>y;
for(int i=0;i<x;i++)
{
for(int j=0;j<y;j++)
{
cin>>m[i][j];
}
}
int count=0;
for(int i=0;i<x;i++)
{
for(int j=0;j<y;j++)
{
if(m[i][j] == '0')
{
continue;
}
bfs(i,j);
count++;
}
}
cout<<count;
return 0;
}

标签:bfs,sy,dx,int,学习,算法,&&,dy
From: https://www.cnblogs.com/azwz/p/18064463

相关文章

  • RIPEMD算法:多功能哈希算法的瑰宝
    一、RIPEMD算法的起源与历程RIPEMD(RACEIntegrityPrimitivesEvaluationMessageDigest)算法是由欧洲研究项目RACE发起,由HansDobbertin、AntoonBosselaers和VincentRijmen共同设计的一种哈希算法。RIPEMD算法最早发布于1996年,旨在提供一种安全、高效的数据完整性验证工具。......
  • 深度学习-卷积神经网络-目标检测YOLO-v1详解-54
    目录1.结构3.总结3.训练样本的构造4.损失函数5.训练6.推理6.小结参考:https://www.zhihu.com/tardis/zm/art/46691043?source_id=1005输入一张图片,要求输出其中所包含的对象,以及每个对象的位置(包含该对象的矩形框)RCNN开创性的提出了候选区(RegionProposals)的方法,先从......
  • Vue3学习(二十三)- 保存文档内容正常显示
    写在前面情人节已经接近尾声了,虽然跟我没什么关系,但是我还是很渴望,能遇到一个良人相伴一生。现在时间:内心异常平静,相对吵闹我更喜欢安静的晚上,没人打扰,enjoy自己独处的时间!保存内容显示1、任务拆解读取已保存内容将读取内容在富文本里显示2、读取已保存内容这个很好......
  • 学习笔记2(下)
    ......
  • 贪心算法
    例题1、硕鼠的交易题目描述ProblemDescription小老鼠准备了M磅的猫粮,准备去和看守仓库的猫做交易,因为仓库里有小老鼠喜欢吃的五香豆。仓库有N个房间;第i个房间有J[i]磅的五香豆,并且需要用F[i]磅的猫粮去交换;老鼠不必交换该房间所有的五香豆,换句话说,它可以用F[i]a%磅的......
  • HTML学习笔记
    简介HTML(HypertextMarkLanguage),一种标记语言,使文章结构转化为逻辑块,达到功能的组合。学习笔记HTML标签不区分大小写元素的主要部分包含L:开始标签(Openingtag),内容(Content),结束标签(Closingtag)PS:空元素只有一个标签两种元素类别:块级元素和内联元素元素也可以拥有属性......
  • Java学习笔记——第十一天
    面向对象高级(二)多态多态是在继承/实现情况下的一种现象,表现为:对象多态、行为多态。多态的具体代码体现//使用同一个类名创建了不同类型的对象,体现了对象多态Peoplep1=newStudent();Peoplep2=newTeacher();//不同类型的对象调用了同一个名字的方法,体现了行为多态p1......
  • 腾讯视频号直播卖货学习第八课-付费投流
    腾讯视频号直播卖货学习第八课-付费投流目前视频号直播分为微信豆,ADQ两种主流投放工具,类比竞媒ADQ约等于千川微信豆加热无挂车视频约等于dou+微信豆加热直播,挂车短视频约等于小店随心推1微信豆让账户快速积累建模,度过冷启动竟对拦截召回老客中小商家 前期阶段......
  • 从CF1935B学习维护前后缀区间mex
    Problem-B-Codeforces维护前缀区间mex和后缀区间mex,枚举二者相同的断点原理随区间增长,\(\texttt{mex}\)只可能增,不可能减,所以可以用一个变量维护目前的\(mex\),区间扩大后可以直接沿用较小区间的\(mex\),再处理增加即可。维护\(\texttt{mex}\)std::set<int>S;//当前......
  • 运维必备Linux学习day1(建议收藏,运维面试100%会涉及)
    一.找回root密码找到以““Linux16”开头内容所在的行数”,在行的最后面输入:init=/bin/sh输完红色命令后Ctrl+X命令接下来在光标闪烁处,输入指令:mount-oremount,rw/(注意:各个单词间有空格)光标闪烁的位置中,输入passwd,输入一次密码并确认密码光标闪烁的位置中,touch/.auto......