题解: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. mysql外键设置失败踩坑记录

    把表里面的数据清空再添加 原因 因为外键一定要对应外面那个表的数据,现在添加外键会导致这个外键的值为空,违反了键的非空约定 理解为已有的数据突然多出来个字段,但是不知道值是什么,那就为空了 主键和外键 ...

  2. 全网最适合入门的面向对象编程教程:43 Python 常用复合数据类型-扩展内置数据类型

    全网最适合入门的面向对象编程教程:43 Python 常用复合数据类型-扩展内置数据类型 摘要: 在 Python 中,内置数据类型(如列表.字典.集合等)非常强大,但在某些情况下,可能需要扩展这些数 ...

  3. Android 国际化:新增越南语语系(Java)

    前提: 1. 在res文件夹中,新增values-vi文件夹(越南语文件夹) 2. 在步骤1的文件夹中,新增strings.xml 背景: 1. targetSdkVersion 29 2. Jdk ...

  4. SQL 求中位值

    题目A median is defined as a number separating the higher half of a data set from the lower half. Quer ...

  5. Chrome 浏览器远程调试 【转】

    Chrome 浏览器按F12,可以调试JS,分析HTTP包等.但是有时候需要远程调试. 比如,某个EXE它内部嵌套了浏览器的话,可以想办法打开它的远程调试功能,然后在外部连到这个地址,就能分析它的ht ...

  6. JavaScript中class的静态属性和静态方法

    我们可以把一个方法赋值给类的函数本身,而不是赋给它的 "prototype" .这样的方法被称为 静态的(static). 例如这样: class Animal { static ...

  7. 戴尔笔记本游匣DELL G16 7620更换固态硬盘从选购固态硬盘到系统和应用程序迁移(克隆)全过程(教程)

    又到了捣鼓电脑的时候了.去年(2022年)8月14日买的电脑,当时7月份刚出戴尔游匣G16,搜了一下,2022年7月22日,戴尔首发游匣G16国行版本. 到现在也就用了差不多半年的时间,我的内存满了, ...

  8. TypeScript 高级教程 – 把 TypeScript 当强类型语言使用 (第一篇)

    前言 原本是想照着 TypeScript 官网 handbook 写个教程的. 但提不起那个劲... 所以呢, 还是用我自己的方式写个复习和进阶笔记就好了呗. 以前写过的 TypeScript 笔记: ...

  9. manim边学边做--空心多边形

    空心的多边形Cutout是一种比较特殊的多边形,主要用于解决与形状.大小.位置等相关的数学问题. Cutout多边形可以定义物体表面的空洞或凹陷部分,从而更准确地模拟现实世界中的复杂形状. 比如,在P ...

  10. 大模型训练:K8s 环境中数千节点存储最佳实践

    今天这篇博客来自全栈工程师朱唯唯,她在前不久举办的 KubeCon 中国大会上进行了该主题分享. Kubernetes 已经成为事实的应用编排标准,越来越多的应用在不断的向云原生靠拢.与此同时,人工智 ...