[蓝桥双周赛]铺地砖

news2024/9/27 9:25:05

题目描述

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

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

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

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

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

输入格式

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

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

输出格式

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

输入样例

在这里给出一组输入。例如:

4
7 6
2 2
12 8
1 12

输出样例

在这里给出相应的输出。例如:

Yes
No
Yes
No

这道题目考察了数论,如果不会的话写暴力如果数据点比较强很有可能过不了

刚开始写了个搜索判断能不能由2,3组成,但是不知道为什么搜索过不了qwq

数论结论是对于两个互质的数a,b,存在的最大的不能由这两个数组合出来的整数是

a*b-a-b

 对于地板的两条边来说,只要其的边长可以由a,b自由组合出来,那么其就可能存在满足条件的摆法。

最终答案就是上面的条件满足外额外满足地板面积是地砖面积的整数倍即可

#include <bits/stdc++.h>

using namespace std;

typedef long long int ll;
#define endl "\n"
#define maxLine 110
#define long long int ll;

ll splitA=2;
ll splitB=3;

ll calc(ll a,ll b){
    // 计算最大的不能表示的数字
    return a*b-a-b;
}
int main() {
    int n;
    cin>>n;
    int a,b;
    int nums=calc(splitA,splitB);
    for(int i=1; i<=n; i++){
        cin>>a>>b;
        if (((a*b)%(splitA*splitB)==0) && (a>nums) && (b>nums) ){
            cout<<"Yes";
        }
        else {
            cout<<"No";
        }
        cout<<endl;
    }
    return 0;
}

这里面注意,取模符号(%)和乘除符号具有相同的优先级,所以在除法运算的结果取模的时候注意使用括号!

加油吧,算法真的垃圾的要死

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

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

相关文章

监控与升级

文章目录 主要内容一.部署Metrics1.部署代码如下&#xff08;示例&#xff09;: 2.解释 二.升级控制平面1.先确定要升级的版本代码如下&#xff08;示例&#xff09;: 2.禁止master节点接受新调度代码如下&#xff08;示例&#xff09;: 3.驱逐master节点上的现有任务代码如下&…

IP地址和子网掩码

1.域名 计算机主机名.本地名.组名.最高层域名 http://www.baidu.com 2.IP地址 每个IP地址都由4个小于256的数字组成&#xff0c;数字之间用“.”分开。Internet的IP地址共有32位&#xff0c;4个字节。它有两种表示格式&#xff1a;二进制格式和十进制格式。二进制格式是计算…

Matlab进阶绘图第32期—小提琴图(Violin Chart)

​小提琴图结合了箱线图与核密度图的特征&#xff0c;可用于展示多组数据的分布状态及概率密度。 由于Matlab中未收录小提琴图的绘制函数&#xff0c;因此需要大家自行解决。 本文在violin工具&#xff08;Hoffmann H, MathWork, 2015&#xff09;的基础上&#xff0c;对一些…

Leetcode刷题详解——在排序数组中查找元素的第一个和最后一个位置

1. 题目链接&#xff1a;34. 在排序数组中查找元素的第一个和最后一个位置 2. 题目描述&#xff1a; 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff…

C#,数值计算——分类与推理Phylo_upgma的计算方法与源程序

1 文本格式 using System; using System.Collections.Generic; namespace Legalsoft.Truffer { public class Phylo_upgma : Phylagglom { public override void premin(double[,] d, int[] nextp) { } public override double dminfn(doubl…

计算数组中各元素的平方numpy.square()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 计算数组中各元素的平方 numpy.square() 选择题 请问np.square(a1)的结果是&#xff1a; import numpy as np a1 [1,2,3] print("【显示】a1 ",a1) print("【执行】np.sq…

KNN-水仙花的分类

题目&#xff1a; 思路&#xff1a; 1、处理数据集&#xff0c;这里用的是题目已知的数据集&#xff0c;所以说需要提前将写好的数据放到excel表格里&#xff0c;再进行读取。 2、将数据集划分为训练集和测试集 3、定义K-NN模型。 4、训练模型 5、预测模型 6、计算分类精…

【鸿蒙软件开发】ArkTS基础组件之DataPanel(数据面板)、DatePicker(日期选择)

文章目录 前言一、DataPanel数据面板1.1 接口参数介绍 1.2 属性1.3 DataPanelType枚举说明1.4 深度剖析number[]参数1.5 示例代码 二、DatePicker日期选择2.1 接口参数说明 2.2 属性2.3 事件DatePickerResult对象说明 2.4 示例代码 总结 前言 DataPanel&#xff1a;数据面板组…

C++前缀和算法的应用:装包裹的最小浪费空间 原理源码测试用例

本文涉及的基础知识点 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 题目 给你 n 个包裹&#xff0c;你需要把它们装在箱子里&#xff0c;每个箱子装一个包裹。总共有 m 个供应商提供 不同尺寸 的箱子&#xff08;每个规格都有无数个箱…

黑豹程序员-架构师学习路线图-百科:Mybatis的伴侣MybatisPlus

文章目录 1、什么是MybatisPlus&#xff1f;2、MybatisPlus发展历史 1、什么是MybatisPlus&#xff1f; java单体项目几乎已经被SSM三大框架所垄断&#xff0c;而M就代表Mybatis。 但Mybatis的结构还是较复杂的&#xff0c;例如&#xff1a;User模块&#xff0c;需要写UserMap…

[开源]一个低代码引擎,支持在线实时构建低码平台,支持二次开发

一、开源项目简介 TinyEngine低代码引擎使能开发者定制低代码平台&#xff0c;支持在线实时构建低码平台&#xff0c;支持二次开发或集成低码平台能力。 二、开源协议 使用MIT开源协议 三、界面展示 四、功能概述 TinyEngine是一个低代码引擎&#xff0c;基于这个引擎可以构…

如何批量给视频添加logo水印?

如果你想为自己的视频添加图片水印&#xff0c;以增强视频的辨识度和个性化&#xff0c;那么你可以使用固乔剪辑助手软件来实现这一需求。下面就是详细的操作步骤&#xff1a; 1.下载并打开固乔剪辑助手软件&#xff0c;这是一款简单易用的视频剪辑软件&#xff0c;功能丰富&am…

实验数据旋转角度处理过程中的常见问题

问题 做实验过程中使用 EM tracker 测量自己机器人末端旋转时的角度。 尾部 设置EMTracker 1&#xff0c;作为固定基准&#xff0c;其轴线与机器人中心轴线近似重合&#xff0c;EM Tracker 2 固定在机器人活动关节上&#xff0c;两者轴线夹角近似为机器人旋转角度。论文尚未发…

Jenkins 安装全攻略:从入门到精通

目录 一&#xff1a;安装文件夹准备 1.打开&#xff0c;/home/admin目录 2.新建三个文件夹 二&#xff1a;安装tomcat 1.打开tomcat目录进行tomcat安装 2.解压tomcat文件 3.开放端口号 4.启动tomcat 5.浏览器访问tomcat 三&#xff1a;安装Maven 1.打开maven目录进行…

VB.NET 三层登录系统实战:从设计到部署全流程详解

目录 前言&#xff1a; 什么是三层 为什么要用到三层: 饭店→软件 理解: 过程: 1.三层包图: 2.数据库 3.三层项目 4.用户界面 5.添加引用 代码实现: Entity层 BLL层 DAL层 UI层 总结: 前言&#xff1a; 什么是三层 三层就是把各个功能模块划分为表示层&#…

python访问Wikipedia

import wikipedia # doc: https://pypi.org/project/wikipedia/def searchWikiPedia(keyword, language) -> str:wikipedia.set_lang(language)result wikipedia.page(keyword)return result.contentif __name__"__main__":# 设置语言https://meta.wikimedia.org…

Leetcode刷题详解——x的平方根

1. 题目链接&#xff1a;69. x 的平方根 2. 题目描述&#xff1a; 给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。 **注意&#xff1a;**不允许使用任何内置指数函数和…

网站搬家的多种方法

网站搬家&#xff0c;把网站从一个服务器迁移到另一个服务器&#xff0c;涉及到网站文件和数据库的备份、上传、导入等操作&#xff0c;最重要的是备份网站&#xff0c;避免迁移出现问题无法恢复网站。 根据不同的情景和需求&#xff0c;网站搬家的方法有多种&#xff0c;下面…

什么是Docker CLI

Docker CLI&#xff08;命令行界面&#xff09;是一个工具&#xff0c;允许用户通过命令行或终端与Docker进行交互。Docker是一个开源平台&#xff0c;用于开发、运送和运行应用程序。Docker使用容器化技术来打包应用程序及其依赖项&#xff0c;以确保在不同环境中的一致性和隔…

Axure 9 使用 font awesome 字体发布原型

我使用的版本为Font awesome 6.1.1&#xff0c;安装后在axure中新增3个字体 如果直接发布&#xff0c;在没有安装Font awesome的电脑上无法正常显示字体图标&#xff0c;需要在发布前进行设置。 设置方法&#xff1a; 点击共享 点开设置 在字体设置页&#xff0c;填入图中所示…