给定一个 n × n n×n n×n 的方格矩阵,最初所有方格都是白色的。

现在需要将矩阵边界上的一些方格涂成黑色,从而使得:

  • 最上一行恰好有 U U U 个方格是黑色的。
  • 最右一列恰好有 R R R 个方格是黑色的。
  • 最下一行恰好有 D D D 个方格是黑色的。
  • 最左一列恰好有 L L L 个方格是黑色的。

注意,你可以选择不进行任何涂色,让所有方格都保持白色。

请问,是否存在满足所有要求的合理涂色方案。

输入格式
第一行包含整数 T T T,表示共有 T T T 组测试数据。

每组数据占一行,包含 5 5 5 个整数 n , U , R , D , L n,U,R,D,L n,U,R,D,L。

输出格式
每组数据输出一行结果,如果存在合理方案,则输出 YES,否则输出 NO

数据范围
1 ≤ t ≤ 1000 , 1≤t≤1000, 1≤t≤1000,
2 ≤ n ≤ 100 , 2≤n≤100, 2≤n≤100,
0 ≤ U , R , D , L ≤ n 0≤U,R,D,L≤n 0≤U,R,D,L≤n

输入样例:

4
5 2 5 3 1
3 0 0 0 0
4 4 1 4 0
2 1 1 1 1

输出样例:

YES
YES
NO
YES

样例解释
下面是样例 1 , 2 , 4 1,2,4 1,2,4 的可行方案:


#include<iostream>using namespace std;int n;
int u, r, d, l;
// 2 5 3 1
bool check(int state){int a = state >> 0 & 1, b = state >> 1 & 1;int x = state >> 2 & 1, y = state >> 3 & 1;if(!(u >= a + b && u <= n - 2 + a + b)) return false;if(!(r >= b + x && r <= n - 2 + b + x)) return false;if(!(d >= x + y && d <= n - 2 + x + y)) return false;if(!(l >= y + a && l <= n - 2 + y + a)) return false;return true;
}int main(){int t;cin >> t;while(t--){cin >> n >> u >> r >> d >> l;bool flag = false;for(int i = 0; i < 16; i++){if(check(i)){flag = true;break;}}if(flag) puts("YES");else puts("NO");}return 0;
}

方格涂色(冬季每日一题 30)相关推荐

  1. [Bzoj4817] [Sdoi2017]树点涂色 (LCT神题)

    4817: [Sdoi2017]树点涂色 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 629  Solved: 371 [Submit][Stat ...

  2. 卖罐头(冬季每日一题 32)

    宠物店在售卖宠物罐头时,提供两种包装. 第一种为单个罐头包装,每个罐头按原价售卖. 第二种为捆绑包装,将 aaa 个罐头装成一箱,打包售卖,平均每个罐头的价格略低于原价. 对于顾客们来说,如果需要购买 ...

  3. 每日一题30:拓补排序

    问题描述 所谓拓补排序就是确定图中节点的一种顺序,使得某些在别的节点访问之前不能访问到的节点排在后面.所以该算法的核心是每一步选择一个没有入度的节点,因为没有入度意味着该节点没有前驱,得到一个节点后, ...

  4. K-优字符串(冬季每日一题 11)

    Charles 将一个字符串的优良分数定义为,在 1 ≤ i ≤ N / 2 1≤i≤N/2 1≤i≤N/2 的范围内,满足 S i ≠ S N − i + 1 S_i≠S_{N−i+1} Si​​ ...

  5. 分水果(冬季每日一题 21)

    现在有 a a a 个苹果, b b b 个香蕉, c c c 个橘子. 你要将这些水果分给尽可能多的小朋友. 假设一个小朋友分到的苹果数量为 x x x,香蕉数量为 y y y,橘子数量为 z z ...

  6. 2021夏季每日一题 【week7 完结】

    目录 3705. 子集mex值 [难度: 简单 / 知识点: 贪心] 3711. 方格涂色 [难度: 中 / 知识点: 枚举 思维] 3720. 数组重排 [难度: 简单 / 知识点: 贪心] 372 ...

  7. 【每日一题】涂色PAINT

    涂色PAINT:区间dp https://ac.nowcoder.com/acm/problem/19909 思路:和取数游戏一样设置dp状态. 设置状态: 表示区间涂[i,j]需要的最少次数. 状态 ...

  8. 每日一题(易错):哪些REPEAT_INTERVAL参数能够实现每30分钟运行job

    你希望每30分钟运行job.下列哪些REPEAT_INTERVAL参数能够实现这一目标? A.'freq=minutely;byminute=30' B.'freq=hourly;interval=1 ...

  9. 【华为OD机试真题 C++】数字涂色 【2022 Q4 | 100分】

    ■ 题目描述 [数字涂色] 疫情过后,希望小学终于又重新开学了,三年二班开学第一天的任务是将后面的黑板报重新制作. 黑板上已经写上了N个正整数,同学们需要给这每个数分别上一种颜色. 为了让黑板报既美观 ...

最新文章

  1. Debian 陷入尴尬,社区或群龙无首
  2. EasyUi – 4.datagrid
  3. WordPress插件扫描工具plecost
  4. Delphi XE 10.4 FMX ListView 一个不易察觉的 BUG
  5. RHCS套件实现高可用负载均衡集群(二)——Fence设备
  6. mysql 数据库的 导入于导出
  7. JetBrains WebStorm 2017.1.2 和 IntelliJ Idea 2017 在线激活
  8. 生成条码 -- jsbarcode
  9. 推荐凸优化经典书籍,来自boyd
  10. JavaScript基础--DOM部分02--李南江
  11. c# 角度和弧度的转换
  12. 新人做微商前期如何引流? 3个技巧你学会了,日进30+精准粉丝!
  13. Datawhale打卡活动 Kaggle Spaceship Titanic Day3
  14. 基于quartz实现定时任务管理系统
  15. 小白用ESP8266NodeMcu机智云SOC方案开发经验分享
  16. 地震应变率 matlab,【shp、kmz】中国及其毗邻地区百年历史地震数据集
  17. 最详细JMX远程连接服务器Zookeeper失败问题踩坑和总结
  18. AtCoder ABC161 E - Yutori
  19. 关于Java自己记不住和不知道的知识点
  20. 知识点 channel的使用

热门文章

  1. uni-app底部tab挡住页面
  2. 原生h5+css3 实现简单视频播放器组件
  3. 2020中信银行信用卡中心校招数据挖掘分析岗一面凉经
  4. 追索权 Eclipse + NDK error: stray #39;\24#39; in program
  5. python智力问答游戏
  6. html拖放api之图片相框,html5拖放API简介及应用
  7. 枢密院监督跟进乌隆他尼省和农布阿兰普省教育基金项目
  8. 12306抢票爬虫selenium+Chromedriver(需手动完成支付)
  9. C语言系列(二)有符号数和无符号数详解
  10. 做抖音新启一个账号,第一步要做什么事情?