Lightoj 1079 DP
2013-11-07 19:27
399 查看
AC代码如下:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef struct{ int money; double p; }Node; int main(){ Node bank[100]; double dp[10010]; int sum, N, T, Case = 1; double P; cin >> T; while( T-- ){ cin >> P >> N; sum = 0; for( int i = 0; i < N; i++ ){ double temp; cin >> bank[i].money >> temp; bank[i].p = 1.0 - temp; sum += bank[i].money; } memset( dp, 0, sizeof( dp ) ); dp[0] = 1; for( int i = 0; i < N; i++ ){ for( int j = sum; j >= bank[i].money; j-- ){ dp[j] = max( dp[j], dp[j-bank[i].money] * bank[i].p ); } } int ans = 0; for( int i = sum; i >= 0; i-- ){ if( dp[i] >= 1 - P ){ ans = i; break; } } cout << "Case " << Case++ << ": " << ans << endl; } return 0; }
相关文章推荐
- 浅析inline-block的简单应用
- MFC--非模式对话框程序(mfc框架)
- 终于发现免费的比较文件工具了~~~
- C++类学习
- 通过设计让APP变快的6个方法
- 顶尖产品经理有哪些特质?
- lua_to_luac
- iSCSI 多路径实现 KVM 高可用
- 学习C语言笔记
- asp.net web项目连接mysql数据库
- 不只是技术!成为IT经理必备的十大软技能
- Make sure the Cursor is initialized correctly before accessing data from it.
- 程序基石系列之类的声明Class declaration
- apt-get install-路径
- Stephen P. Boyd convex lecture notes
- LeetCode Path Sum II路径和II
- CKEditor和FCKEditor的使用记录
- UVa 11332 Summing Digits (water ver.)
- Redhat/CentOS6.2 x86系统KVM虚拟机网络配置(二)—Bridge方式
- 韩国vieworks