Dollars

uva147:

题意:给你几种钱币,在给你一个钱的数目,问有多少种用这些钱来组成这个数目。

题解:完全背包,不过此时要把钱的数目*100,因为是小数,背包的容量都是整数,然后dp,求出每个容量的数目即可

 #include<cstring>
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<iomanip>
using namespace std;
int we[];
long long dp[];
int main(){
we[]=;we[]=;we[]=;we[]=;we[]=;
we[]=;we[]=;we[]=;we[]=;we[]=;we[]=;
float ss;
memset(dp,,sizeof(dp));
dp[]=;
for(int i=;i<=;i++){
for(int j=;j<=;j++){
if(j>=we[i])
dp[j]+=dp[j-we[i]];
}
}
cout<<fixed<<showpoint<<setprecision();
while(cin>>ss&&ss){
cout<<setw()<<ss<<setw()<<dp[(int)(*ss+0.5)]<<endl;//注意这里加0.5.是为了减少误差
} }
上一篇:白话大数据 | Spark和Hadoop到底谁更厉害?


下一篇:【原】tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig的解决