HNUST 1638: 遍地桔子
来源:互联网 发布:强制打开摄像头软件 编辑:程序博客网 时间:2024/04/28 02:24
1638: 遍地桔子
时间限制: 1 Sec 内存限制: 128 MB提交: 715 解决: 136
[提交][状态][讨论版]
题目描述
为了实验室的发展,队长决定在实验室外面的空地种桔子树。空地划分为N×M个格子,每个格子为1×1,队长买了N×M棵树苗。买树苗的时候,老板免费赠送了K袋肥料,这些肥料非常强力,可以使施肥格子和前后左右四个相邻格子(如果存在的话)中的桔子树产量加1。队长表示还想买肥料,但是队长很穷,买不起更多的肥料。每个格子都只能种一棵桔子树,每棵桔子树原来的产量是1,并且每个格子只能施肥一次。现在问题是求施加肥料后所有桔子树的最大总产量。
输入
先输入一个T(T<=1000),表示数据组数。
每组数据输入3个整数N,M,K(1 <= N,M <= 20,0 <= K <= 1000),N和M表示空地的长宽,K表示肥料的袋数。
输出
每一组数据输出一行,包含一个整数,表示所有桔子树的最大产量。
题固然很水,但是正确率不到20%。。。话不多少,上思路
显然是贪心的思想,先放能加五的区域,不行了在找四的区域最后是三。。。这样的话就能保证最大,楼主今天心情好顺便做了一张图片,有点丑,求喷O(∩_∩)O哈哈~
但是不能让我们这么容易就AC了呦。。。没错,题目还有一个坑,就是长宽可能是1.。。这个时候,这个图就不好用了,需要特别判断一下,,,楼主就是太菜了,这儿就贡献了四五次WA,(习惯不好,大家不要学我,不然比赛的时候罚时就很高了),顺便说明一下,图中四个角均为边长为一的正方形。。。应该很好理解吧。。。代码很简单,今天就不写注释了,就是这么任性,有什么不懂,或者找到问题的,欢迎评论指正。
#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>using namespace std;int main(){ ios::sync_with_stdio(0); int T,m,n,k,sum; cin>>T; while(T--) { cin>>m>>n>>k; sum=m*n; if(n>=2&&m>=2) { if(k<=(n-2)*(m-2)) sum=sum+5*k; else if(k<=m*n-4) sum=sum+(5*(n-2)*(m-2))+4*(k-(n-2)*(m-2)); else if(k<=m*n) sum=sum+(5*(n-2)*(m-2))+4*(2*m+2*n-8)+3*(k-(m*n-4)); else sum=sum+5*(n-2)*(m-2)+4*(2*m+2*n-8)+12; } else { if(m==1&&n==1) { if(k!=0) sum++; } else { if(m==1) swap(m,n); if(k<=m-2) sum+=3*k; else if(k<=m) sum+=3*(m-2)+2*(k-m+2); else sum=sum+3*(m-2)+4; } } cout<<sum<<endl; } return 0;}
阅读全文
0 0
- HNUST 1638: 遍地桔子
- 1638: 遍地桔子
- hnust
- hnust
- hnust
- hnust
- hnust
- hnust
- hnust
- hnust
- hnust
- 黄沙遍地
- 桔子的爱情
- [转]桔子的爱情
- 【桔子】 之一 偶遇
- 分桔子问题
- 冬天的桔子
- 递归求桔子数
- VirtualBox 导入 vdi 时报错该如何处理
- JavaFX设置背景颜色渐变
- 程序员编程生涯中常会犯的7个错误,你中了吗?
- Java分布式架构 Java事务分布式高并发
- 2017多校训练赛第九场 HDU 6162(离线处理+树链剖分+线段树解法)
- HNUST 1638: 遍地桔子
- 项目从mysql迁移到oracle
- javaScript往WebApi后台传值
- 我的C程序设计语言学习日记#04
- 洛谷P2144 [FJOI2007]轮状病毒
- jQuery--事件篇(二)
- Mac下使用nginx反向代理服务器解决资源跨域问题
- perl linux 安装Gtk2.pm
- shell脚本:不显示输入的密码