UVALive 6858——分类讨论&&水题
amp 分类 讨论 水题 UVALive
2023-09-27 14:27:45 时间
题目
题意:对于一个$n \times m$的矩阵的最外一圈,问是否能用$k \times 1$的方块填满
分析
考虑左右两边的情况,分类讨论,切记考虑所有可能的情形。
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int n, m; 5 6 bool judge(int k) 7 { 8 if(k == 1) return true; 9 if(k == 2) 10 { 11 if(n % 2) 12 { 13 if((m-1) % k == 0) return true; 14 if((m-2) % k == 0 && m % k == 0) return true; 15 } 16 else 17 { 18 if((m-2) % k == 0) return true; //两边放满 19 if(m % k == 0) return true; //两边都不放满 20 if((m-1) % k == 0) return true; //一边放满,一边不放满 21 } 22 } 23 else 24 { 25 if(n % k == 0) 26 { 27 if((m-2) % k == 0) return true; 28 //if(m % k == 0) return true; 29 } 30 if(n % k == 1) 31 { 32 //printf("%d %d %d\n", n, m, k); 33 if((m-1) % k == 0) return true; //两边对齐 34 if((m-2) % k == 0 && m % k == 0) return true; //两边交错 35 } 36 if(n % k == 2) 37 { 38 if(m % k == 0) return true; 39 } 40 } 41 return false; 42 } 43 44 int main() 45 { 46 while(scanf("%d%d", &n, &m) == 2) 47 { 48 int T; 49 scanf("%d", &T); 50 while(T--) 51 { 52 int tmp; 53 scanf("%d", &tmp); 54 if(judge(tmp)) printf("YES\n"); 55 else printf("NO\n"); 56 } 57 } 58 return 0; 59 }
相关文章
- 【MySQL从入门到精通】【高级篇】(十九)索引的分类&创建索引的三种方式&删除索引的两种方式
- [tools]hugo&github构建静态网站/百度统计
- Gartner&Synergy:一场IBM云业务营收引发的争议
- 小结:双连通分量 & 强连通分量 & 割点 & 割边
- [UI] 04 - Bootstrap: layout & navigation
- 【机器学习 & 决策树】非线性二分类
- ssm框架拦截器设置 & 改变数据库表结构 & JavaWeb出现Invalid bound statement (not found)
- tomacat配置虚拟主机 && 配置缺省页面
- js && 和||的用法
- HTML5 ShadowDOM & CustomElements
- C#学习-多态(向上转型&&向下转型&&as关键字&&is关键字)
- 【树莓派4B深度学习 垃圾分类】Chap.2 VGG16 & AlexNet 垃圾数据集图像分类,附带做好的project链接【深度学习 招式篇】
- 内存泄漏&句柄增长-解决办法
- 剖析Vue原理&实现双向绑定MVVM
- 我的Android进阶之旅------>Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换)
- 我的Android进阶之旅------>修改Android签名证书keystore的密码、别名alias以及别名密码
- 我的Android进阶之旅------>Android利用温度传感器实现带动画效果的电子温度计
- 我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)