题解: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. Linux 进程编程入门

    关于进程和线程的关系,之前一口君写过这几篇文章,大家可以参考下. 本文从头带着大家一起学习Linux进程 <搞懂进程组.会话.控制终端关系,才能明白守护进程干嘛的?> <[粉丝问答6 ...

  2. JavaScript设计模式样例五 —— 建造者模式

    建造者模式(Builder Pattern) 定义:使用多个简单的对象一步一步构建成一个复杂的对象. 目的:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示. 场景:一些基本部件不 ...

  3. Vue使用v-for 循环生成tabs 标签页

    实现最终效果: template代码: activeName:默认第一个显示的tab <el-tabs v-model="activeName" type="car ...

  4. dataX是阿里开源的离线数据库同步工具

    dataX是阿里开源的离线数据库同步工具的使用 DataX介绍: DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.OD ...

  5. vue router路由配置,元信息meta的使用-登录拦截验证

    原文来自 vue router路由配置,元信息meta的使用-登录拦截验证_shenroom的博客-CSDN博客 看原文排版更舒服,我只是记录一下 路由基本配置1.在router文件夹中找到 inde ...

  6. 受 LabelImg 启发的基于 web 的图像标注工具,基于 Vue 框架

    受 LabelImg 启发的基于 web 的图像标注工具,基于 Vue 框架   哟,网友们好,年更鸽子终于想起了他的博客园密码.如标题所述,今天给大家带来的是一个基于 vue2 的图像标注工具.至于 ...

  7. JS的可选链操作符(?.)与双问号(??),你用到了吗?

    可选链操作符(?.) 以前一般这样使用: let nestedProp = obj.first && obj.first.second; 或者这样: let temp = obj.fi ...

  8. CSS – 实战 Font

    前言 这篇想整理一下在网页开发中, 字体是如果被处理的. 先看完: 平面设计 – 字体 CSS – Font / Text 属性 CSS – Font Family CSS – word-break, ...

  9. 解锁Java线程池:实战技巧与陷阱规避

    专业在线打字练习网站-巧手打字通,只输出有价值的知识. 一 前言 线程池作为初学者常感困惑的一个领域,本次"巧手打字通课堂"将深入剖析其中几个最为普遍的误区.为了更清晰地阐述这些知 ...

  10. [namespace hdk] modint

    template<long long mod=INT_MAX,typename T0=long long> class modint{ private: T0 x; long long p ...