pku 3181(java)...
时间:2010-08-14 来源:rabia
题目连接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3181
这道题大意是说给你n(1<=n<=1000)价值的钱数,有1至k(1<=k<=100)价值的商品,求有多少种买东西的方式!这题的结果做大会超long long,所以要用到高精加,因此JAVA比较有优势。其实是一道简单的dp问题
rookie的代码:
import java.util.*; import java.math.BigInteger; public class Main { public static void main(String[] args) { int n,k; Scanner sc = new Scanner(System.in); n=sc.nextInt(); k=sc.nextInt(); BigInteger dp[]=new BigInteger[1001]; dp[0]=new BigInteger("1"); for(int i=1;i<=n;i++) dp[i]=new BigInteger("0"); for (int i = 1; i<= k; i++) for (int j = i; j<=n; j++) dp[j] = dp[j].add(dp[j - i]); System.out.println(dp[n]); } }
相关阅读 更多 +