2013-BIT程序设计 2.修剪草坪 -- 暴力
来源:互联网 发布:golang coredump 编辑:程序博客网 时间:2024/05/17 08:29
2.修剪草坪
有一个n*m的草坪(1<=n,m<=100),草坪中的草原来的高度都是100。现在使用割草机修剪草坪,来得到各种各样的图案。割草机只能横着或者竖着割草。每次割草都会先设定一个高度,割完之后会把比设定高度高的草都割成设定的高度。比如草原来是5 2 8,设定高度为4,那么割完之后就变成了4 2 4。
现在给出一个图案,问是否可以把草坪割成图案的样子。
输入第一行包含两个整数n和m。
接下来为n行输入,每行包含m个不大于100的正整数。
如果可以修剪成输入的图案,则输出“YES”,否则输出“NO”。
测试输入
期待的输出
时间限制
内存限制
额外进程
测试用例 1
以文本方式显示
- 3 3↵
- 2 1 2↵
- 1 1 1↵
- 2 1 2↵
以文本方式显示
- YES↵
1秒
64M
0
分析:得到规律:草坪上的每一个高度要是其所在行或者所在列的最大值,才能是YES,否则是NO。
#include<stdio.h>int max(int a,int b){return a>b?a:b;}int main(){int n,m,flag;int map[105][105];int m1[105][105],m2[105][105];int _min[105];while(scanf("%d%d",&n,&m)!=EOF){flag = 1;for (int i = 0; i < 105; i++)_min[i] = 0;for (int i = 0; i < n; i++)for (int j = 0; j < m; j++){scanf("%d",&map[i][j]);_min[i] = max(_min[i],map[i][j]);m1[i][j] = m2[i][j] = 0;}for (int i = 0; i < n; i++)for (int j = 0; j < m; j++){if(map[i][j] == _min[i])m1[i][j] = 1;}for (int i = 0; i < 105; i++)_min[i] = 0;for (int i = 0; i < m; i++)for (int j = 0; j < n; j++){_min[i] = max(_min[i],map[j][i]);}for (int i = 0; i < m && flag; i++)for (int j = 0; j < n && flag; j++){if(map[j][i] == _min[i])m2[j][i] = 1;if(m2[j][i]==0 && m1[j][i]==0)flag = 0;}if(flag)printf("YES\n");else printf("NO\n");}return 0;}
- 2013-BIT程序设计 2.修剪草坪 -- 暴力
- BITCS2016程序设计 | 2. 修剪草坪
- 修剪草坪
- 修剪草坪
- 修剪草坪
- 修剪草坪
- BIT2014级软件学院程序设计-05 修剪草坪
- tyvj 修剪草坪
- [BZOJ2442]修剪草坪
- BZOJ2442 修剪草坪
- 小学期 修剪草坪
- 2013-BIT程序设计 3. 扫雷 -- 暴力
- [DP][USACO Open11] 修剪草坪
- 2442: [Usaco2011 Open]修剪草坪
- 【BZOJ2442】【Usaco2011 Open】修剪草坪
- BZOJ2442: [Usaco2011 Open]修剪草坪
- 修剪草坪(单调队列)
- 2442: [Usaco2011 Open]修剪草坪
- C++中的类静态成员和静态成员函数
- 在debian7上装搜狗输入法
- Hdu 4549 M斐波那契数列 (矩阵 费马小定理降幂)
- OpenSuSE 12.3 为firefox 安装flash11
- iOS soket Client端的几个主要函数
- 2013-BIT程序设计 2.修剪草坪 -- 暴力
- Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画
- linux下vi命令大全
- 131018总结
- POJ 2409 Let it Bead
- iOS 7 之Airdrop 分享Plain text and attributed string data
- 深入浅出JSONP--解决ajax跨域问题
- 菜鸟的初级面试
- 浅谈java类加载过程和类加载器