HDUOJ---携程员工运动会场地问题
携程员工运动会场地问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 821 Accepted Submission(s): 231
现在有N (3 <= N <= 40)个栅栏段(每个栅栏长度Li (1 <= Li <= 40)),必须刚好用掉所有的栅栏拼成一个最大面积的三角形活动区域,
求这个最大面积。
* 第 2..N+1行: 共N 行, 每行中包括一个整数, 表示 一个栅栏的长度.( 多个栅栏的长度可以出现相同).
* 第N+3行:第二组数据。
每组数据隔一空行,文件末尾以0结尾。
一道简单的二维背包问题,当时由于有一段时间没有碰这种题,在做这道题的时候也没有向这个方向想....
并只以为很装B的用着组合数字里的,frrerrs图像可以AC。。。但是最后wa的一塌糊涂....
谢安贴一下错误的代码吧....以此为戒.
代码:
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<algorithm> 5 #include<vector> 6 #include<math.h> 7 #include<iostream> 8 #include<functional> 9 using namespace std; 10 int main() 11 { 12 int n,i; 13 double ans,tol; 14 //freopen("test.in","r",stdin); 15 //freopen("test.out","w",stdout); 16 while(scanf("%d",&n)!=EOF) 17 { 18 vector<int>aa(n+1); 19 for(i=0;i<n;i++) 20 cin>>aa[i]; 21 sort(aa.begin(),aa.end(),greater<int>()); 22 for(i=3;i<n;i++) 23 { 24 if(aa[0]>aa[1]) 25 { 26 if(aa[1]>aa[2]) 27 aa[2]+=aa[i]; 28 else 29 aa[1]+=aa[i]; 30 } 31 else 32 { 33 if(aa[0]>aa[2]) 34 aa[2]+=aa[i]; 35 else 36 aa[0]+=aa[i]; 37 } 38 } 39 tol=(aa[0]+aa[1]+aa[2])/2.0; 40 ans=(100.0*sqrt(tol*(tol-aa[0])*(tol-aa[1])*(tol-aa[2]))); //o£?×1?ê? 41 if(ans>1.0e-4) 42 { 43 printf("%d %d %d\n",aa[0],aa[1],aa[2]); 44 printf("%.lf\n",floor(ans)); 45 46 } 47 else 48 printf("-1\n"); 49 } 50 return 0; 51 }
copy
当然上面的代码,一般的情况是可以过的,但是有bug.....
比如下面的数据就过不了...
1 /* 2 10 3 1 3 6 9 0 8 5 7 4 2 4 7 6 5 4 3 2 1 0 5 1 0 6 2 1 0 7 3 2 1 0 8 4 3 2 1 0 9 5 4 3 2 1 0 10 6 5 4 3 2 1 0 11 7 6 5 4 3 2 1 0 12 8 7 6 5 4 3 2 1 0 13 9 8 7 6 5 4 3 2 1 0 14 10 9 8 7 6 5 4 3 2 1 0 15 */ 16 17 //answer 18 /* 19 9742 20 2121 21 -1 22 -1 23 -1 24 -1 25 447 26 1082 27 2121 28 3741 29 6235 30 9742 31 */
View Code
用二维0/1背包来求解为:
当然是经过优化后的...
1 //二维0/1背包 2 //扩大栈空间 3 #pragma comment(linker, "/STACK:102400000,102400000") 4 #include<stdio.h> 5 #include<math.h> 6 #include<string.h> 7 #include<stdlib.h> 8 int val[41],aa[41]; 9 bool dp[801][801]; 10 int main() 11 { 12 int n,i,j,k,ans,len,temp; 13 double cc; 14 freopen("test.in","r",stdin); 15 freopen("test.out","w",stdout); 16 while(scanf("%d",&n)!=EOF) 17 { 18 memset(dp,0,sizeof(dp)); 19 memset(aa,0,sizeof(aa)); 20 for(i=1;i<=n;i++) 21 { 22 scanf("%d",&val[i]); 23 aa[i]+=aa[i-1]+val[i]; 24 } 25 cc=aa[n]/2.0; 26 len=cc; 27 temp=0; 28 dp[0][0]=true; 29 for(i=1;i<=n;i++) 30 { 31 if(len<=aa[i]) 32 temp=len; 33 else temp=aa[i]; 34 for(j=temp;j>=0;j--) 35 { 36 for(k=temp;k>=0;k--) 37 { 38 if((j-val[i]>=0&&dp[j-val[i]][k])||(k-val[i]>=0&&dp[j][k-val[i]])) 39 dp[j][k]=true; 40 } 41 } 42 } 43 ans=0; 44 for(i=1;i<=len;i++) 45 { 46 for(j=1;j<=len;j++) 47 { 48 if(dp[i][j]) 49 { 50 if(ans<100*sqrt(cc*(cc-i)*(cc-j)*(i+j-cc))) 51 ans=100*sqrt(cc*(cc-i)*(cc-j)*(i+j-cc)); 52 } 53 } 54 } 55 if(ans==0) printf("-1\n"); 56 else printf("%d\n",ans); 57 } 58 return 0; 59 }
View Code
转载于:https://www.cnblogs.com/gongxijun/p/3662759.html
HDUOJ---携程员工运动会场地问题相关推荐
- 携程员工的幸福感又增加了!
在携程,员工怀孕生子非但不会影响工作,反而会得到公司"生一个娃5万元"的奖励! 据悉,携程自7月1日开始已经正式执行这个政策了.消息传出后,众多网民在热议中纷纷表示,携程的员工真幸 ...
- 【号外】携程变相裁员,员工拉横幅讨薪
昨日有消息指出,携程总部楼下出现员工讨薪横幅.其原因是携程机票配送部门要裁员,据悉,该部门在北京.上海.广州.成都等均有设立,但是因为裁员方式不被接受,成都等地已经开始与携程打官司.而发生在携程上海总 ...
- 携程CEO称成功来自传统营销 B2C已经过时
一夜之间身家暴涨至6亿多元的携程网CEO梁建章认为,电子商务发展一日千里,已经不再是过去所提的B2B.B2C.C2C这些旧概念.而携程的成功主要在于传统的营销手段,而不是互联网. 梁建章日前表示,70 ...
- 携程CEO孙洁:17年后的红色警报
采访整理 / 刘煜 编辑 / 严睿 2020 焦虑与抉择 2020年新年开端这场重大疫情的奇袭,不仅是对国人个体免疫力的挑战,更是对群体意识协同性的考验. 从西贝的哀嚎到KTV土豪老板的悲凉,以及各种 ...
- 携程二十,尚能战否?
▼数据猿年度征集评选活动正在进行中▼ 大数据产业创新服务媒体-聚焦数据·改变商业 数据猿官网 | www.datayuan.cn 今日头条丨一点资讯丨腾讯丨搜狐丨网易丨凤凰丨阿里UC大鱼丨新浪微博丨新 ...
- 近六成员工强烈支持,携程将推出“3+2 ”工作模式,一周三天到岗两天在家办公...
整理 | 于轩 出品 | 程序人生(ID:coder _life) 对于通勤时间动辄一两个小时的上班族来说,在家办公可谓是最理想的选择.情人节当天,携程宣布将推出"3+2"混合办公 ...
- 国内首家!携程每周两天可在家“躺平”,76% 的员工主动报名
继快手.字节等公司取消大小周后,携程开始试验混合办公模式. 整理 | 王晓曼 出品 | 程序人生(ID:coder _life) 8月9日,携程集团宣布启动"2021混合办公试验" ...
- 混合办公时代来了?携程试点每周两天居家办公,76%的员工主动报名!
自去年新冠疫情爆发以来,曾经我们都经历了一段时间的在家办公时期.得益于国内高效的疫情防控.很快我们又恢复了正常上班的节奏.而在国外,由于疫情控制未能得到有效控制,Facebook.苹果.Google. ...
- 携程试点每周两天居家办公反响热烈,76%的员工主动报名
整理 | 钰莹.核子可乐 国外反响热烈的混合办公时代终于也要在国内开启了吗? 1.携程试点远程办公,76% 的员工报名 8 月 9 日,携程集团宣布启动"2021 混合办公试验". ...
- 携程显示连接不到服务器,携程:网络故障由员工错误操作导致
网易科技讯 5月29日讯 今日凌晨1:30分,携程官方称,经携程技术排查,确认此次事件是由于员工错误操作导致.从5月28日上午11:09,发现携程官网及APP出现故障,到28日23:29全面恢复,整个 ...
最新文章
- 涉密计算机用户账号设置审批表,北京邮电大学涉密计算机配置审批表.PDF
- 2月书讯 | 193张图表+388段代码,原版长销13年的日系书终于来了
- 自定义Lisp透明命令
- c语言c2182是什么错误,C语言中一种更优雅的异常处理机制
- 联想v3500存储Linux配置手册,OEL6.X IBM v3500存储多路径配置
- Odoo(OpenERP)配置文件详解
- bsp模型适用于图计算_CODE V微信简报:光束合成传播算法(BSP)
- AUTOSAR专业知识篇(八)-大众ID.4 X网络架构详解
- Python程序员都会喜欢的6个库
- linux 搭建svn注意事项
- gom引擎传奇MapInfo.txt地图参数详解
- PIC单片机学习-中断
- STM8S103K3和STM8S105K4原理图
- 台式机和笔记本快速互拷超大文件
- POI标注分类数据/POI数据分析/商业分析制图
- Android 使用adb查看和修改电池信息
- java8中的流(Stream)
- vue 根据链接生成二维码(功能实现)
- edge使用html2协议,Legacy Microsoft Edge developer documentation
- 2022年山东省职业院校技能大赛中职组“网络搭建与应用”赛项规程
热门文章
- 实例分割最全综述(上):二阶段实例分割和一阶段实例分割
- 中科院计算机所 保研机试题,中科院软件所、计算所保研复试回忆
- 正好配资在线开户叶飞带崩小票
- 第二届“马栏山”杯国际音视频算法大赛音乐节拍检测题参赛总结及分享(Rank7)
- matlab在三维人体及服装建模上的应用,Matlab在三维人体及服装建模上的应用
- react配合modal实现progress进度条
- 跟我一起学Linux系统编程006C-进程内存分配,堆分配brk、malloc、free
- mysql实体完整性实现方法_MySQL数据库高级(一)——数据完整性
- 安全删除硬件并弹出媒体的列表中出现内置硬盘的解决办法.
- 在局域网内怎样使两台计算机共享,怎么使两台电脑共享数据?