【蓝桥】铺地板

news2024/11/15 1:38:41

1、题目

问题描述

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

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

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

在这里插入图片描述
当然,也存在其他别的铺法。

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

注意:不要弄混地板地砖

输入格式

第一行输入一个整数 T T T,代表询问数量。
接下来 T T T 行,每行两个正整数 n i , m i n_i,m_i ni,mi,代表小蓝询问的地板规格。

输出格式

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

样例输入

4
7 6
2 2
12 8
1 12

样例输出

Yes
No
Yes
No

数据范围

1 ≤ T ≤ 1 0 4 , 1 ≤ n , m ≤ 1 0 4 1 \le T \le 10^4,1 \le n,m \le 10^4 1T1041n,m104

原题链接

铺地板

2、思路

分为如下情况:

  1. n × m n \times m n×m 不是 6 的倍数,不能铺满。
  2. 如果是 6 的倍数,并且 n n n 是 2 的倍数, m m m 是 3 的倍数,可以铺满,或者反过来也行。(全部横放或者纵放)。
  3. 如果 n n n 既不是 2 也不是 3 的倍数,那么说明 m m m 一定是 6 的倍数,那么只要 n > 1 n > 1 n>1,即可铺满, n , m n, m n,m 调换也是合法的。

总结起来,如果 n × m n \times m n×m 是 6 的倍数,那么只要 n > 1 n > 1 n>1 m > 1 m > 1 m>1 就是合法的。

简单证明3,有定理:两个互质的数,相互结合,不能组成的最大整数是 a × b − a − b a \times b - a -b a×bab。那么 2 × 3 − 2 − 3 = 1 2 \times 3 -2 -3 = 1 2×323=1,所以只有 1 不能拼成,考虑横着放一些,和纵放一些就行。

裴蜀定理:

a , b a,b a,b 是整数,且 g c d ( a , b ) = d gcd(a,b)=d gcd(a,b)=d,那么对于任意的整数 x x x y y y a x + b y ax+by ax+by 都一定是 d d d 的倍数,特别地,一定存在整数 x x x, y y y,使 a x + b y = d ax+by=d ax+by=d 成立。

3、代码

#include <iostream>
using namespace std;

int n, m;

void solve() {
    if ((n * m) % 6 == 0 && (n > 1) && (m > 1)) {
        cout << "Yes\n";
        return ;
    }
    cout << "No\n";
}

int main()
{
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);

  int T;
  cin >> T;

  while (T--) {
      cin >> n >> m;
      solve();
  }
  return 0;
}

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

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

相关文章

【QT开发(14)】QT P2P chat 聊天

在【P2P学习&#xff08;2&#xff09;】P2P 通信&#xff0c;主要存在四种不同的网络模型的第一阶段&#xff1a;集中式P2P 模式 最简单的路由方式就是集中式&#xff0c;即存在一个中心节点保存了其他所有节点的索引信息&#xff0c;索引信息一般包括节点 IP 地址、端口、节…

YOLOv8训练自己的数据集+改进方法复现

yolov8已经出来好几个月了&#xff0c;并且yolov8从刚开始出来之后的小版本也升级好几次&#xff0c;总体变化不大&#xff0c;个别文件存放位置发生了变化&#xff0c;以下以最新版本的YOLOv8来详细学习和使用YOLOv8完成一次目标检测。 一、环境按照 深度学习环境搭建就不再…

Cesium 展示——实现鼠标移动到实体上动态高亮显示

文章目录 需求分析需求 在开发中,遇到这样一个需求:在绘制完实体后,要求鼠标移动到上边后有高亮的效果,看的清除一点,因此,经过尝试,做出了如下解决方案 在这里,我们以线为例,实现其动态高亮显示 分析 在这里我们首先需要有一个鼠标监听事件,在合适的位置注册鼠标监听…

uni.showModal的用法

uni.showModal({title: 提示,//标题content: "内容",//提示内容可以加入\r\n进行换行showCancel: true,//是否显示取消按钮&#xff0c;默认为truecancelText: 取消,//取消按钮的文字confirmText: 确定,//确认按钮的文字confirmColor: #ff0000,//确认按钮文字颜色can…

chrony时间服务

目录 1.1.重要性 1.2. Linux的两个时钟 1.3. NTP 1.4. Chrony介绍 2.安装与配置 2.1.安装: 2.2. Chrony配置文件分析 3.实验 3.1实验1 3.2实验2 3.常见时区 1.1.重要性 ●由于IT系统中&#xff0c;准确的计时非常重要&#xff0c;有很多种原因需要准确计时: 。在网络…

Netty核心源码剖析

Netty 线程模型 Netty高并发高性能架构设计精髓 主从Reactor线程模型NIO多路复用非阻塞无锁串行化设计思想支持高性能序列化协议零拷贝(直接内存的使用)ByteBuf内存池设计灵活的TCP参数配置能力并发优化 无锁串行化设计思想 在大多数场景下&#xff0c;并行多线程处理可以提…

网络原理之TCP协议(超详细 干货满满)

文章目录 前言TCP 协议的段格式TCP 协议的相关特性什么叫做可靠传输TCP 采用了哪些主要机制保证了可靠传输和优化传输效率1. 确认应答2. 超时重传3. 连接管理&#xff08;三次握手、四次挥手&#xff09;三次握手&#xff08;建立连接&#xff09;四次挥手&#xff08;断开连接…

【方法】如何给PDF文件添加“打开密码”?

PDF文件可以在线浏览&#xff0c;但如果想要给文件添加“打开密码”&#xff0c;就需要用到软件工具&#xff0c;下面小编分享两种常用的工具&#xff0c;小伙伴们可以根据需要选择。 工具一&#xff1a;PDF编辑器 PDF阅读器一般是没有设置密码的功能模块&#xff0c;PDF编辑器…

全志A523(显示篇一)

全志使用de架构&#xff0c;兼容drm架构 返回目录

全面的‘由于找不到mfc110u.dll,无法继续执行代码’的解决方法分享,3分钟教你快速修复

在我们使用电脑的过程中&#xff0c;有时候可能会遇到某个应用程序启动失败&#xff0c;提示“由于找不到mfc110u.dll,无法继续执行代码”的问题。本文将详细介绍如何针对这类问题进行处理&#xff0c;以及mfc110u.dll文件的相关知识。 一.mfc110u.dll文件盘点 首先&#xff0…

用豆瓣电影和掌桥科研练习网页解析的三种方式——正则、Xpath和bs4

网页解析 豆瓣电影解析方式正则表达式Xpathbs4 翻页 掌桥科研正则表达式Xpathbs4 豆瓣电影 解析方式 先爬取数据&#xff1a; # -- coding: utf-8 --** import requests import json import time import pandas as pdurlhttps://movie.douban.com/top250?start0&filter…

【带头学C++】----- 1.基础知识 ---- 1.21.23.9 位运算符的综合应用

最近做任务&#xff0c;公司项目比较重&#xff0c;赶上1024的活动流量券任务&#xff0c;内容治疗略微有一些杂乱&#xff0c;后期会把专栏目录重新搞一下&#xff0c;内容我是融合了很多课程和书籍包含ai的一些理解&#xff0c;我整理和增加了自己的见解和代码贴图&#xff0…

【java学习—八】关键字static(4)

文章目录 1. 前言2. 关键字static3. 代码理解3.1. 类变量3.2. 类方法3.3. 工具类3.4. 总结 4. 注意事项 1. 前言 当我们编写一个类时&#xff0c;其实就是在描述其对象的属性和行为&#xff0c;而并没有产生实质上的对象&#xff0c;只有通过 new 关键字才会产生出对象&#xf…

10-16/10-17 JavaWeb入门/servlet

JavaWeb 现实生活中的互联网项目都是javaWeb项目, 包含网络, 多线程, 展示: HTML等其他的前端技术, 界面窗体展示(Swing包,AWT包 窗体), C#, JAVAWeb架构:(面试重点&#xff1a;要求记忆) B/S: 浏览器/服务器 优点: 以浏览器作为客户端, 使用这个软件, 用户不需要下载客户端,…

Spring Cloud之服务熔断与降级(Hystrix)

目录 Hystrix 概念 作用 服务降级 简介 使用场景 接口降级 服务端服务降级 1.添加依赖 2.定义接口 3.实现接口 4.Controller类使用 5.启动类添加注释 6.浏览器访问 客户端服务降级 1.添加依赖 2.application.yml 中添加配置 3.定义接口 4.Controller类使用 …

Chat Towards Data Science|如何用个人数据知识库构建 RAG 聊天机器人?

生成式人工智能时代&#xff0c;开发者可以借助大语言模型&#xff08;LLM&#xff09;开发更智能的应用程序。然而&#xff0c;由于有限的知识&#xff0c;LLM 非常容易出现幻觉。检索增强生成&#xff08;RAG&#xff09;https://zilliz.com/use-cases/llm-retrieval-augment…

TS 入门指南

TS 类型基本用法 TS简介 TypeScript&#xff0c;简称 TS&#xff0c; 是一种由微软开发的编程语言&#xff0c;它是对 JavaScript 的一个增强让我们更加方便地进行类型检查和代码重构&#xff0c;提高代码的可靠性和可维护性同时&#xff0c;TypeScript 还支持 ECMAScript 的…

对长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中的所有值为x的数据元素

对长度为n的顺序表L&#xff0c;编写一个时间复杂度为O(n)&#xff0c;空间复杂度为O(1)的算法&#xff0c;该算法删除线性表中的所有值为x的数据元素 算法思路&#xff1a; 用count标记遇到x的次数&#xff0c;每次遇到x&#xff0c;count 遇到非x的元素&#xff0c;把它前移…

探索企业基本信息查询API:数据访问的便捷方式

前言 当涉及到获取企业的基本信息时&#xff0c;传统的方法往往需要大量的时间和人力资源&#xff0c;以收集、整理和验证数据。然而&#xff0c;现在有一种便捷的方式可以解决这个问题&#xff0c;那就是通过企业基本信息查询API。本文将探讨这种API是如何成为数据访问的便捷…

【Hive SQL】字符串操作函数你真的会用吗?

文章目录 ININSTRSUBSTRLOCATELIKE 前言&#xff1a; 今天在做一个需求的时候&#xff0c;需要判断字符串中是否包含一个子串&#xff0c;然后我发现了我平常没注意到的一个点&#xff0c;通过这篇博文来记录一下。 IN IN 函数用于判断一个元素是否存在于所给的元素组中&…