I NEED A OFFER!

来源:互联网 发布:手机扫描端口 编辑:程序博客网 时间:2024/06/02 09:54

I NEED A OFFER!

比较麻烦处理的就是中间int doble 型定义的地方,其他还算好,虽然是水题,但是动态规划接触的真的很少,几大类型,接触最多的就是背包问题,要继续多做题,动态规划是一块硬骨头,慢慢啃,狠狠的啃下去奋斗

// File Name: hdu1203.cpp// Author: rudolf// Created Time: 2013年04月23日 星期二 17时03分54秒#include<vector>#include<list>#include<map>#include<set>#include<deque>#include<stack>#include<bitset>#include<algorithm>#include<functional>#include<numeric>#include<utility>#include<sstream>#include<iostream>#include<iomanip>#include<cstdio>#include<cmath>#include<cstdlib>#include<cstring>#include<ctime>#include<algorithm>using namespace std;const int maxn=10005;double dp[maxn];struct node{int a;double b;}edge[maxn];int main(){int m,n;while(cin>>m>>n,m+n){for(int i=0;i<n;i++)cin>>edge[i].a>>edge[i].b;memset(dp,0.0,sizeof(dp));for(int i=0;i<n;i++)for(int j=m;j>=edge[i].a;j--){dp[j]=max(dp[j],1-(1-dp[j-edge[i].a])*(1-edge[i].b));}double p=dp[m]*100;printf("%.1lf%%\n",p);}}