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”。
乍一看题意很像动归(我经验少T T)然而其实也是一个寻找规律就可以轻松求解的问题。如果一时找不到做题思路大家可以先在纸上做一个简单的实例推导,多推几个简单的情况,和同学们交换几种自己想出的样例,最终就可以找到答案。
题目中要求我们检查草坪能否被修剪为输入的矩阵的形式,其一要锻炼大家对输入处理的能力,第二则是需要抓住,修剪都是整行整列地统一修剪的:所以每个在矩阵中的值都不能同时,既是所在行中最小值,又是所在列中的最小值。如果矩阵中的每个值都符合这个条件,则输出“YES\n”;反之,“NO\n”。
结果:
最爱绿色有没有!我爱思考,我爱绿色~