蓝桥杯第 2 场算法双周赛 第2题 铺地板【算法赛】c++ 数学思维

news2024/10/8 15:11:31

 题目

铺地板icon-default.png?t=N7T8https://www.lanqiao.cn/problems/5887/learning/?contest_id=145

问题描述

小蓝家要装修了,小蓝爸爸买来了很多块(你可以理解为数量无限)2×32×3 规格的地砖,小蓝家的地板是 n×m 规格的,小蓝想问你,能否用这些 2×32×3 的地砖铺满地板。

铺满地板:对于地板的每个区域,都有且只有一块地砖覆盖,地砖可以旋转,但不能切割

例如:对于 7×67×6 的地板,一种铺地板方式是:

图片描述

当然,也存在其他别的铺法。

小蓝家是个多层小别墅,每一层的规格不一样,所以他会多次询问你不同规格的地板。

注意:请仔细读题,不要弄混地板地砖

输入格式

第一行输入一个整数 T,代表询问数量。

接下来 T 行,每行两个正整数 ni​,mi​,代表小蓝询问的地板规格。

输出格式

对于每次询问,如果 2×32×3 的地砖可以铺满地板,输出 Yes,否则输出 No

样例输入

4
7 6
2 2
12 8
1 12

样例输出

Yes
No
Yes
No

说明

  • 对于第一组询问,题干中存在正确铺法。
  • 对于第二组询问,不存在任何铺法可以铺满。

作为一个程序员,应该有 666666 分的勇气。如果你觉得这是一个简单得很 66 的结论,但是你不知道如何证明,不妨提交一发试一试。

祝大家 1024 快乐。

评测数据范围

1≤T≤104,1≤n,m≤104。

运行限制

语言最大运行时间最大运行内存
C++1s128M
C1s128M
Java2s128M
Python33s128M
PyPy33s128M

思路和解题方法

  1. #include <iostream>using namespace std;:这两行代码包含了所需的头文件和命名空间。#include <iostream>用于输入输出操作,using namespace std;允许直接使用标准库中的函数和对象,而无需使用std::前缀。

  2. string canCoverFloor(int n, int m):这部分代码定义了一个函数canCoverFloor,它接受两个整型参数nm,分别表示地板的行数和列数。

  3. int area = n * m;:在函数内部,首先计算地板的面积,即行数乘以列数,并将结果存储在变量area中。

  4. int tile_area = 6;:然后定义了一个变量tile_area,表示地砖的面积,这里假设地砖的大小为2x3,因此地砖的面积为6。

  5. if (area % tile_area == 0 && n >= 2 && m >= 2):接下来,使用条件语句判断地板是否可以被地砖完全覆盖。条件包括两部分:首先,地板面积必须能够整除地砖面积,即area % tile_area == 0;其次,行数和列数都必须大于等于2,即n >= 2 && m >= 2

  6. return "Yes";return "No";:如果满足条件,则返回字符串"Yes";否则返回字符串"No"。

  7. int main():这部分代码定义了主函数main,是程序的入口点。

  8. int T;:首先声明一个整型变量T,用于存储询问数量。

  9. cin >> T;:然后使用输入流cin读取用户输入的询问数量,并将其存储在变量T中。

  10. for (int i = 0; i < T; i++):使用for循环来处理每个询问。循环条件是i < T,即循环执行T次。

  11. int n, m;:在每次循环中,声明两个整型变量nm,用于存储地板的行数和列数。

  12. cin >> n >> m;:使用输入流cin读取地板的行数和列数,并将它们存储在相应的变量中。

  13. string result = canCoverFloor(n, m);:调用函数canCoverFloor(n, m)判断地板是否可以被地砖完全覆盖,并将结果存储在字符串变量result中。

  14. cout << result << endl;:使用输出流cout将结果输出到控制台,并在末尾添加换行符endl

  15. return 0;:循环结束后,返回0表示程序正常结束。

复杂度

        时间复杂度:

                O(T)

时间复杂度主要取决于循环的执行次数T,即O(T)。

        空间复杂度:

                O(1)

整个程序的空间复杂度为O(1),即常数级别的空间开销。

c++ 代码

#include <iostream>
using namespace std;

string canCoverFloor(int n, int m) {
    int area = n * m;  // 计算地板面积
    int tile_area = 6;  // 地砖面积为2x3=6
    if (area % tile_area == 0 && n >= 2 && m >= 2) {  // 如果地板可以被地砖完全覆盖且行列数都大于等于2
        return "Yes";
    } else {
        return "No";
    }
}

int main() {
    int T;
    cin >> T;  // 询问数量

    for (int i = 0; i < T; i++) {
        int n, m;
        cin >> n >> m;
        string result = canCoverFloor(n, m);  // 调用函数判断地板是否可以被地砖完全覆盖
        cout << result << endl;  // 输出结果
    }

    return 0;
}

觉得有用的话可以点点赞,支持一下。

如果愿意的话关注一下。会对你有更多的帮助。

每天都会不定时更新哦  >人<  。

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

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

相关文章

[C++随想录] map和set的使用

map和set的使用 set初始化finderasecountlower_bound && upper_boundequal_ range mapinsert[ ]运算符 multiset && multimap set — — key模拟 map — — key_value模型 set 初始化 void set_test1() {set<int>s;s.insert(10);s.insert(12);s.insert(…

2023年MathorCup高校数学建模挑战赛大数据挑战赛赛题浅析

比赛时长为期7天的妈杯大数据挑战赛如期开赛&#xff0c;为了帮助大家更好的选题&#xff0c;首先给大家带来赛题浅析&#xff0c;为了方便大家更好的选题。 赛道 A&#xff1a;基于计算机视觉的坑洼道路检测和识别 A题&#xff0c;图像处理类题目。这种题目的难度数模独一档…

如何查看多开的逍遥模拟器的adb连接端口号

逍遥模拟器默认端口号为&#xff1a;21503。 不过&#xff0c;使用多开器多开的时候&#xff0c;端口就不一定是21503了。 如何查看&#xff1f; 进入G:\xiaoyao\Microvirt\MEmu\MemuHyperv VMs路径中 每多开一个模拟器&#xff0c;就会多出一个文件夹。 进入你要查找端口号…

C#,数值计算——分类与推理,基座向量机高斯核(Svmgausskernel)的计算方法与源程序

No logical, not an AI. 你现在能阅读到的大量AI都是假AI&#xff0c;包括 。。。GPT 在内&#xff0c;没有任何鸟用。凡为 ...GPT 发声者均为假学者。 No log, no AI. 1 文本格式 using System; namespace Legalsoft.Truffer { public class Svmgausskernel : Svmgen…

Flask Run运行机制剖析

一、前言 已经玩了一段时间Flask &#xff0c;每次调用app.run(或flask run)就可以启动应用&#xff0c;今天我们就来了解一下run背后究竟做了些什么事情。 注&#xff1a;通过上面几行代码就可以启动一个Flask服务器&#xff0c;打开浏览器输入http://127.0.0.1:5000, 页面上…

sharepoint2016-2019升级到sharepoint订阅版

一、升级前准备&#xff1a; 要建立新的sharepoint订阅版环境&#xff0c;需求如下&#xff1a; 1.单服务器硬件需求CPU 4核&#xff0c;内存24G以上&#xff0c;硬盘300G&#xff08;根据要迁移的数量来扩容大小等&#xff09;&#xff1b; 2.操作系统需要windows server 20…

得物 Redis 设计与实践yu

一、前言 自建 Redis 系统是得物 DBA 团队自研高性能分布式 KV 缓存系统&#xff0c;目前管理的 ECS 内存总容量超过数十TB&#xff0c;数百多个 Redis 缓存集群实例&#xff0c;数万多个 Redis 数据节点&#xff0c;其中内存规格超过 1T 的大容量集群多个。 自建 Redis 系统采…

Linux系统下配置王爽汇编语言环境

【步骤一】 先打开命令行&#xff0c;进入root模式&#xff0c;输入如下语句&#xff1a; sudo apt-get install dosbox 该语句的作用主要是安装dosbox 【步骤二】 安装完成之后&#xff0c;命令行输入dosbox 会进入dosbox页面&#xff1a; 【步骤三】 在你的主机中&…

thinkphp6 自定义命令行command使用

在tp框架中往往需要定义一些命令去大批量的操作行为&#xff0c;直接在控制器中会有超时报错的情况&#xff0c;而且也会很慢&#xff0c;所以就需要使用到tp里的自定义命令行来完成这些操作行为。 比如&#xff1a;现在有一张表数据有上百万&#xff0c;要更新表中某个字段的…

宝塔面板安装Python和Flask(新版Python项目)

&#xff08;一&#xff09;宝塔面板的项目菜单&#xff0c;打开Python项目的“项目版本管理” 安装Python版本3.10.0。 会创建一个Python版本的文件夹www/server/pyproject_evn/versions/ 会创建一个Python虚拟环境的文件夹www/server/pyproject_evn/python_venv/ &#xf…

深入探讨Docker生态系统,Docker Compose vs. Docker Swarm vs. Kubernetes:深入比较

文章目录 Docker ComposeDocker SwarmKubernetesDocker Compose适用场景 Docker Swarm适用场景 Kubernetes适用场景 对比和结论 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 ✨收录专栏&#xf…

【小黑嵌入式系统第五课】嵌入式系统开发流程——开发工具、交叉开发环境、开发过程(生成调试测试)、发展趋势

上一课&#xff1a; 【小黑嵌入式系统第四课】嵌入式系统硬件平台&#xff08;二&#xff09;——I/O设备、通信设备&#xff08;UART&USB&蓝牙&#xff09;、其他&#xff08;电源&时钟&复位&中断&#xff09; 文章目录 一 嵌入式软件开发工具的分类二 嵌…

Express框架开发接口之登录与注册API

我们利用nodeexpressmysql开发接口&#xff0c;对数据库数据进行简单增、删、查改等操作。 接口是什么&#xff1f; 接口是 前后端通信的桥梁 简单理解&#xff1a;一个接口就是 服务中的一个路由规则 &#xff0c;根据请求响应结果 接口的英文单词是 API (Application Progra…

分支预测机制

在Linux中&#xff0c;__predict_false和__predict_true是用于优化分支预测的宏。这些宏通过向编译器提供关于条件分支可能结果的提示&#xff0c;来帮助生成更有效的机器代码。 __predict_false宏扩展为一个属性&#xff0c;该属性指示编译器预测给定分支可能为假。这意味着&…

jdk20 升级, gson 的坑

项目部署在服务器中请求报下面这个错 java.lang.reflect.InaccessibleObjectException: Unable to make private java.util.Collections$EmptyList() accessible: module java.base does not "opens java.util" to unnamed module 2c35e847at java.base/java.lang.r…

制作一个简单的C语言词法分析程序

1.分析组成 C语言的程序中&#xff0c;有很单词多符号和保留字。一些单词符号还有对应的左线性文法。所以我们需要先做出一个单词字符表&#xff0c;给出对应的识别码&#xff0c;然后跟据对应的表格来写出程序 2.程序设计 程序主要有循环判断构成。不需推理即可产生的符号我…

【需水预测】区域需水量预测方法-定额法

区域需水量预测方法-定额法 1 生活用水需水量预测1.1 人口指标预测1.2 居民生活综合用水定额分析 2 农业需水量预测2.1 农田灌溉需水量2.2 林牧渔业需水量另&#xff1a;灌溉面积定义 3 工业需水量预测3.1 工业增加值发展指标预测 4 生态需水量预测4.1 生态环境面积发展指标预测…

APP自动化测试 ---- Appium介绍及运行原理

在面试APP自动化时&#xff0c;有的面试官可能会问Appium的运行原理&#xff0c;以下介绍Appium运行原理。 一、Appium介绍 1.Appium概念 Appium是一个开源测试自动化框架&#xff0c;可用于原生&#xff0c;混合和移动Web应用程序测试。它使用WebDriver协议驱动IOS&#xf…

工具分享:腾讯云价格计算器使用方法_服务器报价不求人

腾讯云服务器价格计算器可以一键计算出云服务器的精准报价&#xff0c;包括CVM实例规格价格、CPU内存费用、公网带宽收费、存储系统盘和数据盘详细费用&#xff0c;腾讯云百科txybk.com分享腾讯云价格计算器链接入口、使用方法说明&#xff1a; 腾讯云服务器价格计算器 打开腾…

项目经验分享|openGauss 陈贤文:受益于开源,回馈于开源

开源之夏 项目经验分享 2023 #08 # 关于 openGauss 社区 openGauss是一款开源关系型数据库管理系统&#xff0c;采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验&#xff0c;结合企业级场景需求&#xff0c;持续构建竞争力特性。同时openGauss也是…