AHU524 桂园食堂
来源:互联网 发布:网络作家丁凡个人资料 编辑:程序博客网 时间:2024/04/27 20:42
动归第一题,背包的模板。。。主要是浮点数精度的问题,在浮点数的表示法中,两个数之间的差值是用距离来表示的,因此相差极小的两个数,运算之后可能用同一个数来表示了。那么如何判断两个数相等呢?答案是:差值小于一个足够小的数,比如0.00000001这种。(硕神博客学来的。。。)然后要加0.01.
#include<stdio.h>double a[120][10020];int main(){ int kind,i; double money,mo[2000],va[2000],i1; while(scanf("%d %lf",&kind,&money)!=EOF) { for(i=1;i<=kind;i++) scanf("%lf %lf",&mo[i],&va[i]); for(i=0;i<=kind;i++) for(i1=0;i1-money<=1e-2;i1+=0.1) { a[i][(int)((i1+0.01)*10)]=0; if(i!=0) { if(i1>=mo[i]) { a[i][(int)((i1+0.01)*10)]=a[i-1][(int)((i1+0.01)*10)]>a[i-1][(int)((i1-mo[i]+0.01)*10)]+va[i]?a[i-1][(int)((i1+0.01)*10)]:a[i-1][(int)((i1-mo[i]+0.01)*10)]+va[i]; } else a[i][(int)((i1+0.01)*10)]=a[i-1][(int)((i1+0.01)*10)]; } } printf("%.1lf\n",a[kind][(int)((money+0.01)*10)]); } return 0; }
0 0
- AHU524 桂园食堂
- 【DP|01背包】AOJ-524 桂园食堂
- 建食堂
- 可恶的食堂
- 黑大食堂
- 《吉祥三宝》食堂版
- 我们的食堂
- 万恶的食堂
- 小兹鲁去食堂歌
- 从食堂看谷歌文化
- 清华大食堂
- XMU1344建食堂
- 核抖瓮谠阂扑握父源荣食堂牟宰艘
- 食堂不允许用现金
- 食堂M1卡饭卡测试
- 1243 -- 梅园食堂
- 美食地图-上海食堂
- 美食地图-达摩食堂
- 学海无涯
- HTTP协议的chunked编码 http://www.cnblogs.com/zhaozhan/archive/2010/08/24/1807639.html
- jQuery 2种扩展
- HDU 1009 FatMouse' Trade
- HDU 2412 Party at Hali-Bula 树形DP
- AHU524 桂园食堂
- Python的zip函数
- 指数哥伦布编码代码
- JAVA基础点汇总(二)
- 课程设计记实(航空订票系统)——第一篇
- HDU 2046 骨牌铺方格
- Volley
- transfer-encoding:chunked的含义
- 黑马程序员——13,多线程(3)