交大1102
2016-03-10 10:09
197 查看
暴力法
#include<cstdio> #include<cstring> #include<string> using namespace std; int n,m,k; int nums[101][101]; int flag,minsum; int main(){ memset(nums,0,sizeof(nums)); while(scanf("%d%d%d",&n,&m,&k)!=EOF){ flag = 0; minsum = 0; for(int i = 0;i<n;i++) for(int j = 0;j<m;j++) scanf("%d",&nums[i][j]); for(int i = 0;i<n;i++){ for(int j = 0;j<m;j++){ for(int x = i;x<n;x++){ for(int y = j;y<m;y++){ if(flag&&(x-i+1)*(y-j+1)>=minsum)//当所得面积大于最小面积时,丢弃,但为了防止i=0,j=0时是解,所以用flag最为标记 break; int tempsum = 0; for(int p = i;p<=x;p++) for(int q = j;q<=y;q++) tempsum+=nums[p][q]; if(tempsum>=k){ flag = 1; minsum = (x-i+1)*(y-j+1);//找到最小的面积 } } } } } if(flag==0) printf("-1\n"); else printf("%d\n",minsum); } }
相关文章推荐
- 链表操作
- 理解JavaScript中的arguments,callee,caller,apply
- HR系统+人脸识别
- 有人向我反馈了一个bug
- c++ (P262—P277) STL
- link-hover-visited-active
- CSS3文本溢出显示省略号
- css HACK
- explain的使用
- mes生产管理的定义
- 缺失值,表整理—tidyr包
- iOS开发动画(Animation)总结
- Intent传值与Bundle传值的区别(源码分析)
- swift 拿到程序的委托
- UE小用法
- jbox用法
- 修改bug 提交出错:操作失败: 无法更改关系,因为一个或多个外键属性不可以为 null
- Android M 概率跳不过google开机向导原因分析
- 开发规范5:GIT 分支
- Android程序的三个构成要素