题解:CF1551D1 Domino (easy version)

分析

题目中保证 \(n\times m\) 为偶数,下面进行分类讨论。

情况一

如果 \(n\) 和 \(m\) 都是偶数,那么可以分割成 \(\frac{n}{2}\times\frac{m}{2}\) 个 \(2\times2\) 的方块。

根据上图我们发现,只要 \(k\) 满足 \(0\le k\le \frac{n}{2}\times\frac{m}{2}\times 2\) 且 \(2 \mid k\),就一定可以凑出来。

情况二

如果 \(n\) 是奇数,\(m\) 是偶数,我们考虑把 \(n\) 变为偶数转化为第一种情况。

如上图,可以先在第一行排 \(\frac{m}{2}\) 个多米诺骨牌,这时如果 \(k<\frac{m}{2}\) 就无解,否则就直接转化为了第一种情况,此时 \(k\) 变为 \(k-\frac{m}{2}\)。

情况三

如果 \(n\) 是偶数,\(m\) 是奇数,我们考虑把 \(m\) 变为偶数转化为第一种情况。

如上图,可以先在第一列排 \(\frac{n}{2}\) 个多米诺骨牌。由于 \(k\) 的限制是横向的多米诺骨牌,所以 \(k\) 不变,转换为情况一。

代码

#include<bits/stdc++.h>
using namespace std;
int n,m,k;
bool check(int a,int b,int c)
{
if(c&1)return 0;
if(c>(a/2)*(b/2)*2)return 0;
return 1;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin>>T;
while(T--)
{
cin>>n>>m>>k;
if(!(n&1)&&!(m&1))
{
if(check(n,m,k))
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
else if((n&1)&&!(m&1))
{
if(k<m/2)
{
cout<<"NO"<<endl;
continue;
}
k-=m/2;
n--;
if(check(n,m,k))
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
else if(!(n&1)&&(m&1))
{
m--;
if(check(n,m,k))
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return 0;
}

题解:CF1551D1 Domino (easy version)的更多相关文章

  1. Codeforces 1077F1 Pictures with Kittens (easy version)(DP)

    题目链接:Pictures with Kittens (easy version) 题意:给定n长度的数字序列ai,求从中选出x个满足任意k长度区间都至少有一个被选到的最大和. 题解:$dp[i][j ...

  2. UVA12569-Planning mobile robot on Tree (EASY Version)(BFS+状态压缩)

    Problem UVA12569-Planning mobile robot on Tree (EASY Version) Accept:138  Submit:686 Time Limit: 300 ...

  3. Codeforces Round #521 (Div. 3) F1. Pictures with Kittens (easy version)

    F1. Pictures with Kittens (easy version) 题目链接:https://codeforces.com/contest/1077/problem/F1 题意: 给出n ...

  4. CF1225B1 TV Subscriptions (Easy Version)

    CF1225B1 TV Subscriptions (Easy Version) 洛谷评测传送门 题目描述 The only difference between easy and hard vers ...

  5. Ping-Pong (Easy Version)(DFS)

    B. Ping-Pong (Easy Version) time limit per test 2 seconds memory limit per test 256 megabytes input ...

  6. ZOJ 3868 - Earthstone: Easy Version

    3868 - Earthstone: Easy Version Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld ...

  7. Coffee and Coursework (Easy version)

    Coffee and Coursework (Easy version) time limit per test 1 second memory limit per test 256 megabyte ...

  8. 2016级算法第六次上机-B.ModricWang's FFT : EASY VERSION

    1114 ModricWang's FFT EASY VERSION 思路 利用FFT做大整数乘法,实际上是把大整数变成多项式,然后做多项式乘法. 例如,对于\(1234\),改写成\(f(x)=1* ...

  9. Saving James Bond - Easy Version (MOOC)

    06-图2 Saving James Bond - Easy Version (25 分) This time let us consider the situation in the movie & ...

  10. Codeforces Round #540 (Div. 3) F1. Tree Cutting (Easy Version) 【DFS】

    任意门:http://codeforces.com/contest/1118/problem/F1 F1. Tree Cutting (Easy Version) time limit per tes ...

随机推荐

  1. 使用Packer构建镜像

    什么是Packer Packer 是一个强大的工具,它可以帮助我们轻松地构建各种类型的镜像,如虚拟机镜像.Docker 镜像等. Packer 的工作原理是通过定义一个配置文件,该文件描述了要构建的镜 ...

  2. 使用了 sudo 却依然显示权限不够的原因

    $ sudo echo "151.101.76.133 raw.githubusercontent.com" >> /etc/hosts bash: /etc/host ...

  3. 深入浅出Stream流

    Java 8的新特性之一就是流stream,配合同版本出现的 Lambda ,使得操作集合(Collection)提供了极大的便利. 案例引入 在JAVA中,涉及到对数组.Collection等集合类 ...

  4. 关于 MemoryStream 的多次写入,模拟post请求,接收方 .net core web api无法读取到流数据,报 System.IO.IOException: Unexpected end of Stream, the content may have already be en read by another component.

    主要是业务不熟害死人.记录一下.真想抽自己几个嘴巴子 先说结论,知道这个结论的下面文字都是废话: 一.new MemoryStream 的时候,如果需要分次写入,只能是像下面这样子 MemoryStr ...

  5. 【YashanDB知识库】oracle dblink varchar类型查询报错记录

    问题单:Oracle DBLINK查询崖山DB报错 oracle服务器上ODBC安装 unixodbc安装:yum -y install unixODBC mysql 配置安装对应版本的odbc: m ...

  6. 游戏AI行为决策——MLP(多层感知机/人工神经网络)

    游戏AI行为决策(特别篇)--MLP(附代码与项目) 你一定听说过神经网络的大名,你有想过将它用于游戏AI的行为决策上吗?其实在(2010年发布的)<最高指挥官2>中就有应用了,今天请允许 ...

  7. svg之viewbox缩放

    先看个示例 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...

  8. Asp.net core 学习笔记之 globalization & localization 复习篇

    更新: 2022-03-22 修订版: ASP.NET Core – Globalization & Localization 更新: 2021-06-15 之前有说过, 我没有使用默认的 f ...

  9. DQL—查询操作

    一.查询语法 select 字段列表 from 表名列表 where 条件列表 group by 分组列表 having 分组后条件 order by 排序字段 limit 分页限定 (提供一个表来操 ...

  10. USB gadget configfs

    概述 USB Linux Gadget是一种具有UDC (USB设备控制器)的设备,可以连接到USB主机,以扩展其附加功能,如串口或大容量存储能力. 一个gadget被它的主机视为一组配置,每个配置都 ...