BITCS2016程序设计 | 2. 修剪草坪
来源:互联网 发布:使用python运维 编辑:程序博客网 时间:2024/04/28 19:50
2. 修剪草坪
成绩10开启时间2016年08月30日 星期二 09:00折扣0.8折扣时间2016年09月2日 星期五 23:00允许迟交否关闭时间2016年10月10日 星期一 23:55
有一个n*m的草坪(1<=n,m<=100),草坪中的草原来的高度都是100。现在使用割草机修剪草坪,来得到各种各样的图案。割草机只 能横着或者竖着割草。每次割草都会先设定一个高度,割完之后会把比设定高度高的草都割成设定的高度。比如草原来是5 2 8,设定高度为4,那么割完之后就变成了4 2 4。
现在给出一个图案,问是否可以把草坪割成图案的样子。
输入第一行包含两个整数n和m。
接下来为n行输入,每行包含m个不大于100的正整数。
如果可以修剪成输入的图案,则输出“YES”,否则输出“NO”。
- 3 3↵
- 2 1 2↵
- 1 1 1↵
- 2 1 2↵
- YES↵
乍一看题意很像动归(我经验少T T)然而其实也是一个寻找规律就可以轻松求解的问题。如果一时找不到做题思路大家可以先在纸上做一个简单的实例推导,多推几个简单的情况,和同学们交换几种自己想出的样例,最终就可以找到答案。
题目中要求我们检查草坪能否被修剪为输入的矩阵的形式,其一要锻炼大家对输入处理的能力,第二则是需要抓住,修剪都是整行整列地统一修剪的:所以每个在矩阵中的值都不能同时,既是所在行中最小值,又是所在列中的最小值。如果矩阵中的每个值都符合这个条件,则输出“YES\n”;反之,“NO\n”。
程序:
#include "stdio.h"int main(){int n, m, flag = 0, grass[100][100] = {0};scanf( "%d%d", &n, &m );// Input the goal grass heightfor( int i = 0; i < n; i ++ )for( int j = 0; j < m; j ++ )scanf( "%d", &grass[ i ][ j ] );// Check whether the goal can be achievedfor( int i = 0; i < n && flag != 2; i ++ )for( int j = 0; j < m; j ++ ){flag = 0;int curHeight = grass[ i ][ j ];// Check whether there is a higher height in the same rowfor( int l = 0; l < m ; l ++ )if( curHeight < grass[ i ][ l ] ){flag ++;break;}// Check whether there is a higher height in the same columnfor( int l = 0; l < n; l ++ )if( curHeight < grass[ l ][ j ] ){flag ++;break;}if( flag == 2 ){//printf( "NO\n" );break;}}if( flag < 2 )printf( "YES\n" );return 0;}
结果:
最爱绿色有没有!我爱思考,我爱绿色~
0 0
- BITCS2016程序设计 | 2. 修剪草坪
- 2013-BIT程序设计 2.修剪草坪 -- 暴力
- 修剪草坪
- 修剪草坪
- 修剪草坪
- 修剪草坪
- BIT2014级软件学院程序设计-05 修剪草坪
- tyvj 修剪草坪
- [BZOJ2442]修剪草坪
- BZOJ2442 修剪草坪
- 小学期 修剪草坪
- [DP][USACO Open11] 修剪草坪
- 2442: [Usaco2011 Open]修剪草坪
- 【BZOJ2442】【Usaco2011 Open】修剪草坪
- BZOJ2442: [Usaco2011 Open]修剪草坪
- 修剪草坪(单调队列)
- 2442: [Usaco2011 Open]修剪草坪
- BZOJ 2442: [Usaco2011 Open]修剪草坪
- Mac升级git版本 以及 使用git和github管理自己的项目---基础操作学习
- 前端学习总结
- Android图片轮播第三弹,给你想不到的惊喜
- ping不通服务器ip原因
- SDingba的啥意思,sdingba,SDingBa
- BITCS2016程序设计 | 2. 修剪草坪
- 论文研读--Weakly Supervised Object Localization with Progressive Domain Adaptation
- adobe-flash-properties-gtk 依赖错误解决方法
- React-native小记
- 离线部署arcgis api for javascript
- ABAP 创建资产卡片 AS01创建资产数据BAPI
- 架设Ethercalc
- adb 查看Android版本号和SDK版本号
- Asp.Net 技术 资料合集