首页 > 其他分享 >天梯赛练习集 L2-048 寻宝图 DFS

天梯赛练习集 L2-048 寻宝图 DFS

时间:2024-12-07 14:21:44浏览次数:4  
标签:int DFS flag L2 && 048


思路:dfs,从一块岛屿出发,搜索与之连通的所有岛屿块标记为0,计数器+1,过程中用一个变量flag标记有没有宝藏。
反思:如果用二维int数组直接存储会爆空间,所以用一维字符串数组。

#include<bits/stdc++.h>
using namespace std;
vector<string>vc;
string s;
int n,m,cot=0,flag=0,sum=0;

int d[4][2]={0,1,1,0,-1,0,0,-1};


bool ok(int x,int y)
{
	if(x>=0&&x<n&&y>=0&&y<m)
		return 1;
	return 0;
}
void dfs(int x,int y)
{
	if(vc[x][y]=='0')
		return ;
	else
	{
		if(vc[x][y]!='1')
			flag=1;
		vc[x][y]='0';
		for(int i=0;i<4;i++)
		{
			int xx=x+d[i][0];
			int yy=y+d[i][1];
			if(ok(xx,yy))
				dfs(xx,yy);
		}
	}
}
int main()
{
	cin>>n>>m;
	for(int i=0;i<n;i++)
	{
		cin>>s;
		vc.push_back(s);
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			if(vc[i][j]!='0')
			{
				cot++;
				dfs(i,j);
			}	
			if(flag)
			{
				sum++;
				flag=0;
			}
		}
	}		
	cout<<cot<<' '<<sum; 
 } 

标签:int,DFS,flag,L2,&&,048
From: https://www.cnblogs.com/jinshuli/p/18592133

相关文章

  • 电商项目--分布式文件存储FastDFS搭建
    一、FastDFS环境搭建我们使用Docker搭建FastDFS的开发环境(1)拉取镜像dockerpullmorunchang/fastdfs (2)运行trackerdockerrun-d--nametracker--net=hostmorunchang/fastdfsshtracker.sh(3)运行storagedockerrun-d--namestorage--net=host-eTRACKER_......
  • 电商项目--分布式文件存储FastDFS简介
    对于大型互联网类型项目,其内部存在非常多的文件,会存在图片文档报表等文件。采用传统方式存储在机器磁盘上,其容量无法支撑这些文件,需要考虑分布式文件系统。一、FastDFS简介FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同......
  • BUUCTF Pwn jarvisoj_level2_x64 题解
    1.下载checksec64位用IDA64打开SHIFT+F12查找字符串找到了binsh函数里面也有system进主函数看看看到了栈溢出漏洞这是64位程序所以构造ROP链时要用rdi传参+用ret栈平衡找到这两个的地址:构造exp:运行得到flag  flag{4b1340f5-06be-4377-9630-fd2c77f016......
  • 从零开始程序之路----HTML2
    说明:继续上一期博文,视频也将在博文底部。前面编写的代码都是在记事本中编写,可以看出有时候为了设置缩进对齐等效果要做很多额外工作,工欲善其事必先利其器,接下来后期的代码将使用推荐的HBuilderX编写代码,下载地址在前面已经提及,接下来继续分享常用双标签的使用:常用双标签(二)3)<......
  • 洛谷刷题之p1048
    [NOIP2005普及组]采药题目入口题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株......
  • 天梯赛 L2-004 这是二叉搜索树吗? 数据结构
    反思:使用指针前先分配内存。#include<bits/stdc++.h>usingnamespacestd;typedefstructnode{ intdata; structnode*left; structnode*right;}*T;queue<int>q1;queue<int>q2;queue<int>q3;Tresult;voidbuilt1(T&t,intx){ if(t==NU......
  • html2canvas 解决某些站点截图空白问题
    业务场景介绍  点击浏览器右上角已安装的chrome插件图标,这个时候会出现一个界面,我们称这个界面为popup,界面上有个"从页面获取产品信息"按钮,单机它会对当前标签页面内容进行截图,最后将截图的图片转成base64发送至xx接口部分核心代码解读:截取当前可视区域的图片,为了能够截图......
  • L2-015 互评成绩
    目录一、问题描述二、问题分析 三、源码解答四、时空复杂度分析五、参考资料一、问题描述学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编......
  • IDA+WSL2实现本地linux动态调试
    1、首先在ida安装目录找到dbgsrv这个文件夹,打开后把“linux_server”这个文件拖到你的linux中(我放在/root位置)2、然后赋予两个文件权限(linux-server和要调试的文件)chmod+x/root/linux_serverchmod+x你的待调试文件位置然后运行调试组件/root/linux_server64参数:“-p......
  • 书生浦语大模型实战训练营L2G3000 LMDeploy 量化部署实践闯关任务
    LMDeploy量化部署实践闯关任务文章目录LMDeploy量化部署实践闯关任务前言一、任务一W4A16量化+KVcache+KVcache量化二、任务二前言使用结合W4A16量化与kvcache量化的internlm2_5-1_8b-chat模型封装本地API并与大模型进行一次对话。使用Functioncall功能......