I NEED A OFFER!
题意: 中文不解释。
分析: 类似 HDU2955。
#include <bit/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
const ll mod = 1e9 + 7;
//这题和A差不多
struct ndoe {
int mon;
double P;
}rec[10010];
double dp[10010];
int main(){
std::ios::sync_with_stdio(false);
std::cin.tie(0);
int n,m;
while(cin>>n>>m && (n||m)){
for(int i=0;i<m;i++){
cin>>rec[i].mon>>rec[i].P;
}
//memset(dp,1,sizeof(dp));
fill(dp, dp + n + 1, 1.0);
//for(int i=0;i<n;i++)dp[i]=1.0;
for(int i=0;i<m;i++){
int mon = rec[i].mon;
double p = 1-rec[i].P;
for(int j=n;j>=mon;j--){
dp[j] = min(dp[j],dp[j-mon] * p);
//cout<<j<<" "<<dp[j]*100<<endl;
}
}
//cout<<dp[n]*100<<endl;
printf("%.1f%%\n",(1.0-dp[n])*100);
}
return 0;
}