首页 > 其他分享 >2023年天梯赛补题(待补充)

2023年天梯赛补题(待补充)

时间:2023-04-23 21:22:31浏览次数:37  
标签:&& int dfs ++ vector 补题 天梯 2023 宝藏

2023年天梯赛

摆烂局,又卡dfs的图存储上,还是补题太少了,这么好的骗分比赛,一分都没骗着。好好训练,争取西安站学校能出线。恶补一下树和数学。多存点板子。

L2-4 寻宝图 25 3516/35325(9.95%)

题目

给定一幅地图,其中有水域,有陆地。被水域完全环绕的陆地是岛屿。有些岛屿上埋藏有宝藏,这些有宝藏的点也被标记出来了。本题就请你统计一下,给定的地图上一共有多少岛屿,其中有多少是有宝藏的岛屿。

输入格式:
输入第一行给出 2 个正整数 N 和 M(1<N×M≤10^5),是地图的尺寸,表示地图由 N 行 M 列格子构成。随后 N 行,每行给出 M 位个位数,其中 0 表示水域,1 表示陆地,2-9 表示宝藏。
注意:两个格子共享一条边时,才是“相邻”的。宝藏都埋在陆地上。默认地图外围全是水域。

输出格式:
在一行中输出 2 个整数,分别是岛屿的总数量和有宝藏的岛屿的数量。

思路

裸dfs题(bfs也可以)+双重vector

代码

#include <bits/stdc++.h>
using namespace std;
#define PII pair<int, int>
int n, m, k, T, t, _;
vector<vector<char> > g;
vector<vector<bool> > vis;


int cnt = 0, treasure = 0;
bool f = 0;

int dx[] = {0, 0, -1, 1};

int dy[] = {1, -1, 0, 0};

void dfs(int x, int y) {
	if (g[x][y] > '1')
		f = 1;
	g[x][y] = '0';//找到后就置0
	for (int i = 0; i < 4; i++) {
		int nx = x + dx[i], ny = y + dy[i];
		if (g[nx][ny] > '0' && nx >= 0 && nx < n && ny >= 0 && ny <= m) {
			dfs(nx, ny);
		}
	}
	return ;
}


int main() {
	cin >> n >> m;
	vector<vector<char> > a(n + 1, vector<char> (m + 1));
	vector<vector<bool> > v(n + 1, vector<bool> (m + 1));
	for (int i = 0; i < n; i++)
		for (int j = 0; j < m; j++)
			cin >> a[i][j];
	g = a;
	vis = v;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {

			if (g[i][j] != '0') {
				cnt++;
				dfs(i, j);
				if (f == 1) {
					treasure++;
					f = 0;
				}
			}
		}

	}
	cout << cnt << " " << treasure << endl;
	return 0;
}


标签:&&,int,dfs,++,vector,补题,天梯,2023,宝藏
From: https://www.cnblogs.com/oddpointa/p/17347795.html

相关文章

  • SpringMVC-ssm案例-2023-04-23
    一、准备工作1.1、搭建普通maven项目,framework的web项目1.2、加载maven依赖:junit-mysql-connector-C3P01                   servlet-jsp/JSTL                 MyBatis  MyBatis-spring  ......
  • 2023PTAL1-8 谁管谁叫爹
    《咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲,来源于东北酒桌上的助兴游戏。现在我们把这个游戏的难度拔高一点,多耗一些智商。不妨设游戏中的两个人为A和B。游戏开始后,两人同时报出两个整数 NA​ 和 NB​。判断谁是爹的标准如下:将两个整数的各位数字分别相加,得到两个和 SA​......
  • 2023/4/23
    L1-002打印沙漏分数 20全屏浏览题目作者 陈越单位 浙江大学本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***************** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两......
  • 编程一小时2023.4.23
    1.#include<bits/stdc++.h>usingnamespacestd;stringa,s;intb[1005],t,c[1005];voiddivision(){for(inti=t-1;i>=0;i--){if(b[i]%2)b[i-1]+=10;b[i]/=2;}while(b[t-1]==0)t-......
  • 20230423小记
    没有耳机我要死了耳机没电了回家充电忘带回来了哼哼啊啊啊啊啊闲话虽然中午的活动很有趣,但是八卦很无聊,尤其是我不感兴趣的八卦。打球很开心,但是不会温柔的打球。和lzy贴贴很开心。每日一问,同桌和她的学长什么时候。晚上还要上课麻。太他妈累了,可能需要睡一会。想睡觉是......
  • 2023年团体程序设计天梯赛 题解
    仅更新L1,L2随后写**更好的阅读体验:2023年团体程序设计天梯赛题解**L1-1最好的文档有一位软件工程师说过一句很有道理的话:“Goodcodeisitsownbestdocumentation.”(好代码本身就是最好的文档)。本题就请你直接在屏幕上输出这句话。输入格式:本题没有输入。输出格式:在一行中输出......
  • 2023年团体程序设计天梯赛 题解
    仅更新L1,L2随后写**更好的阅读体验:2023年团体程序设计天梯赛题解**L1-1最好的文档有一位软件工程师说过一句很有道理的话:“Goodcodeisitsownbestdocumentation.”(好代码本身就是最好的文档)。本题就请你直接在屏幕上输出这句话。输入格式:本题没有输入。输出格式:在一行中输出......
  • 【月伴流星】Win10_11_22H2完整+精简多合一安装板2023.04
    本次同时制作Windows10,Windows11两个版本,每个版本亦分为:“集成完整驱动版"和"集成网卡驱动”版,并都已合成可启动光盘iso,支持刻录光盘直接光驱安装,亦可进PE后用UltraISO提取install.win镜像WinNTSetup进行安装!适合技术批量装机,真正做到一盘在手装机无忧!         ......
  • 每日总结2023/4/23
    今天转换思路完成了对于导航到补货站的过程:自己做的始终比不上现有的地图软件,不如跳转到相应的地图软件进行导航。另外在补货历史记录中增加了补货地点一条;更新注册页面。      ......
  • 2023年4月23日周日
    计划完成初稿最后一部分回顾这一周甚至更前的博客学习记录执行09点12分  开始写初稿15点56分  写了一天,没写完记录问题想法已解决增加了测试不通过的接口状态,以及测试不通过后发送邮件给接口开发人员修改了生成的word接口文档的样式接口审核通过后发送邮件给......