CCFCSP试题编号:202206-2试题名称:寻宝!大冒险!

news2024/12/25 9:43:06

一、题目 

 二、分析

因为藏宝图左下角位置一定是一棵树,所以只要把所有绿化图中每一棵树,与之相匹配,然后判断,是否整个藏宝图都是绿化图的一部分,如果是那就计数count+1。所以来看,结果count最大也就是n(绿化图中树的棵数)。

只要注意一下判断藏宝图右上角会出现超出绿化图边界的情况,和懂得如何遍历整个藏宝图去判断是否与绿化图的某一部分一致就ok啦!

三、代码

废话不多说,看妾身代码!

#include <iostream>
using namespace std;
int tree[1005][2];//存放绿化图中树位置坐标
int map[55][55];//藏宝图

//判断藏宝图中的一点(l,r)是否在绿化图中有对应的位置匹配
bool isPositionMatching(int l, int r, int x, int y,int n)
{
	int i;
	//遍历绿化图中所有树
	//如果存在与藏宝图中对应的位置,返回真;否则,返回假
	for (i = 0; i < n; i++)
	{
		if (tree[i][0] == x + l && tree[i][1] == y + r)
		{
			return true;
		}
	}
	return false;
}

//判断藏宝图是否与绿化图中某一部分一致
bool isTrue(int x, int y, int L, int s, int n)
{
	//超出范围
	if (x + s > L || y + s > L)
	{
		return false;
	}
	int i, j, k;
	//遍历整个藏宝图,比较绿化图
	for (i = 0; i <= s; i++)
	{
		for (j = 0; j <= s; j++)
		{
			//如果是树的话,那么在存放绿化图中树位置坐标的数组tree找不到匹配的点,
			//该藏宝图一定不会是这一块绿化图的一部分
			if (map[i][j] == 1)
			{
				if (isPositionMatching(i, j, x, y, n) == false)
				{
					return false;
				}
			}
			//如果不是树的话,那么在存放绿化图中树位置坐标的数组tree找到了匹配的点,
			//该藏宝图一定不会是这一块绿化图的一部分
			if (map[i][j] == 0)
			{
				if (isPositionMatching(i, j, x, y, n) == true)
				{
					return false;
				}
			}
		}
	}
	//如果上面的情况都没有出现,那么这就是一个相匹配的位置
	return true;
}
int main()
{
	int n, L, s;
	cin >> n >> L >> s;
	int i, j;
	int count = 0;
	for (i = 0; i < n; i++)
	{
		cin >> tree[i][0] >> tree[i][1];
	}
	for (i = s; i >= 0; i--)
	{
		for (j = 0; j <= s; j++)
		{
			cin >> map[i][j];
		}
	}
	//判断
	for (i = 0; i < n; i++)
	{
		if (isTrue(tree[i][0], tree[i][1], L, s, n) == true)
		{
			count++;//符合的就计数+1
		}
	}
	cout << count << endl;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1251256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【c++j继承】

在编程领域中&#xff0c;面向对象是一种非常流行的程序设计方法。C 继承是面向对象编程中的一个重要概念&#xff0c;它允许我们创建一个新的类&#xff08;子类&#xff09;来继承已有的类&#xff08;父类&#xff09;的属性和方法。通过继承&#xff0c;我们可以实现代码的…

【vue实战项目】通用管理系统:学生列表

本文为博主的vue实战小项目系列中的第五篇&#xff0c;很适合后端或者才入门的小伙伴看&#xff0c;一个前端项目从0到1的保姆级教学。前面的内容&#xff1a; 【vue实战项目】通用管理系统&#xff1a;登录页-CSDN博客 【vue实战项目】通用管理系统&#xff1a;封装token操作…

CMD - ping

文章目录 前言参数 前言 ping 命令主要测试到达指定 IP 或主机的连通性. 参数 -t: ping 指定的计算机直到中断 -a: 将地址解析为主机名 -n count: 要发送的回显请求数

【Linux】常见指令及周边知识(一)

【Linux】常见指令及周边知识&#xff08;一&#xff09; 一、初始Linux操作系统1.Linux背景2.如何使用Linux 二、学习Linux之前的预备周边知识&#xff08;重点&#xff09;&#xff1a;1.什么叫做文件&#xff1f;2. Linux下的路径分隔符3.在Linux中为什么会存在路径&#xf…

电子学会C/C++编程等级考试2022年03月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:温度统计 现有一段时间的温度数据,请统计指定温度出现的次数。 时间限制:1000 内存限制:65536输入 第一行一个整数n,表示温度数据的个数。(0 < n ≤ 200) 第二行n个整数,以空格分隔,每个整数表示一个温度,温度的范围大…

Python中的数据类型

如果说python中的数据类型,那我们要从标准数据类型说起,在python中标准数据类型如下: 数字类型: 数字数据类型用于存储数值。 他们是不可改变的数据类型&#xff0c;这意味着改变数字数据类型会分配一个新的对象。 在python2.X中数据类型分的比较多,有int(有符号整型),long(…

训练日志——wandb

目录 安装与登录基础使用与可视化常用函数wandb.init()wandb.config()wandb.log()wandb.finish()wandb.watch() 参考 安装与登录 安装 pip install wandb注册并登录 https://wandb.ai/site客户端登陆 在终端中输入wandb login 然后出现You can find you API key的一串网站&am…

cocos游戏引擎,弹出框浏览器正常,但到了抖音、微信小游戏就不显示的bug原因及解决办法

本篇文章主要讲解&#xff1a;cocos游戏引擎&#xff0c;浏览器测试时弹出框好好的&#xff0c;无任何报错&#xff0c;构建项目到抖音、微信小游戏时无法弹出弹出框&#xff0c;但又无报错的问题原因及解决办法。 日期&#xff1a;2023年11月25日 作者&#xff1a;任聪聪 问题…

系列十四、BeanFactory vs FactoryBean vs ApplicationContext

一、BeanFactory 1.1、概述 IOC思想是基于IOC容器完成的&#xff0c;IOC容器的底层就是对象工厂&#xff0c;其核心接口为BeanFactory&#xff0c;BeanFactory是一个工厂类&#xff0c;负责生产和管理各种各样的bean&#xff0c;也是Spring内部的使用接口&#xff0c;不提供给…

基于springboot实现学生成绩管理系统项目【项目源码+论文说明】

基于springboot实现学生成绩管理系统演示 摘要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&am…

一键提取随机画面为JPG图片,实现高效剪辑

你是否曾经在观看视频时&#xff0c;遇到了一些精彩瞬间&#xff0c;却无法将其保存下来&#xff1f;现在&#xff0c;我们为你带来了一款全新的工具——视频批量剪辑&#xff0c;一键提取随机画面为JPG图片&#xff0c;让你可以轻松留住这些精彩瞬间&#xff01; 首先&#xf…

C++入门第九篇---Stack和Queue模拟实现,优先级队列

前言&#xff1a; 我们已经掌握了string vector list三种最基本的数据容器模板&#xff0c;而对于数据结构的内容来说&#xff0c;其余的数据结构容器基本都是这三种容器的延申和扩展&#xff0c;在他们的基础上扩展出更多功能和用法&#xff0c;今天我们便来模拟实现一下C库中…

CDA一级备考思维导图

CDA一级备考思维导图 第一章 数据分析概述与职业操守1、数据分析概念、方法论、角色2、数据分析师职业道德与行为准则3、大数据立法、安全、隐私 CDA一级复习备考资料共计七个章节&#xff0c;如需资料&#xff0c;请留言&#xff0c;概览如下图&#xff1a; 第一章 数据分析…

P11 如何写一个C++类 Log日志基础

01 前言 到目前为止&#xff0c;我们学了类 class&#xff0c;本期我们要尝试着从头开始写一个类。 本期不会讲的太深。我们不会写非常复杂的类&#xff0c;我们要会完成一个基本的 log 类 02 为什么使用 log 首先我们先分析一下我们的需求&#xff0c;这个 log 类到底是什么…

安捷伦E4404B频谱分析仪,100 Hz 至 6.7 GHz

E4404B是安捷伦ESA-E系列频谱分析仪&#xff0c;它是一款能够适应未来发展需求的中高端频谱分析仪解决方案。该系列在频谱分析仪的测量速度、动态范围、精度和功率分辨能力等方面&#xff0c;都为类似价位的产品树立了性能标杆。其灵活的平台设计使得研发、制造和现场服务工程师…

HCIA-RS基础-距离矢量路由协议

前言&#xff1a; 动态路由协议根据寻径方式可以分为距离矢量路由协议和链路状态路由协议。本文将详细介绍距离矢量路由协议的原理&#xff0c;并阐述其中一个重要概念——路由环路&#xff0c;同时介绍如何避免路由环路的方法。通过学习本文&#xff0c;您将能够深入理解距离矢…

探秘:性能测试中最常见的陷阱与解决方案!

概述一下性能测试流程&#xff1f; 1.分析性能需求。挑选用户使用最频繁的场景来测试。确定性能指标&#xff0c;比如&#xff1a;事务通过率为100%&#xff0c;TOP99%是5秒&#xff0c;最大并发用户为1000人&#xff0c;CPU和内存的使用率在70%以下2.制定性能测试计划&#x…

Acrel-2000电力监控系统在上海大世界保护修缮工程项目中的应用

摘要&#xff1a;安科瑞生产厂家1876150/-6237黄安南 介绍上海大世界电力监控系统&#xff0c;采用智能电力仪表采集配电现场的各种电参量和开关信号。系统采用现场就地组网的方式&#xff0c;组网后通过现场总线通讯并远传至后台&#xff0c;通过Acrel-2000型电力监控系统实现…

CCC联盟——UWB MAC(二)

在上一篇文章中对CCC联盟UWB MAC框架进行了介绍&#xff0c;在本文中&#xff0c;将MAC层的时间网格进行简单介绍。 2、MAC时间网格&#xff08;Time Grid) DK UWB测距协议属于一对多&#xff08;One to Many, O2M)测距协议。发起者&#xff0c;每次发送4帧&#xff0c;接收N帧…

浅谈如何成为一名优秀教师

你是不是也有一个梦想&#xff0c;想要成为一位优秀的教师&#xff0c;让孩子们如沐春风&#xff0c;收获满满&#xff1f;那么&#xff0c;今天就让我来给你分享一下成为优秀教师的秘诀吧&#xff01; 热爱教育&#xff0c;点燃激情 成为优秀教师&#xff0c;首先要有对教育的…