ZOJ2604-DP
生活随笔
收集整理的這篇文章主要介紹了
ZOJ2604-DP
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
遞推式并不知自己推出來的,用來紀念一下學會了java的函數用法。。。
最后5分鐘的時候,大姐頭直接告訴我打表,但是我當場就蒙了,我怎么會用java打表(其實自己腦中想的就是要輸出到文件中然后生成數組打表),真的是被自己的愚蠢傻哭了。
1 import java.util.*; 2 import java.math.*; 3 public class Main 4 { 5 static BigInteger dp[][] = new BigInteger[55][55]; 6 static void solve(int n, int k) {///函數原來這么用 7 for(int i=0; i<=n; ++i) 8 for(int j=0; j<=k; ++j) 9 dp[i][j] = BigInteger.ZERO; 10 for(int i=0; i<=n; ++i) 11 dp[0][i] = BigInteger.ONE; 12 for(int i=1; i<=n; ++i) { 13 for(int j=1; j<=k; ++j) { 14 for(int p=1; p<=i; ++p) { 15 dp[i][j] = dp[i][j].add(dp[i-p][j].multiply(dp[p-1][j-1])); 16 } 17 } 18 } 19 } 20 public static void main(String[] args) {///主函數 21 Scanner in = new Scanner(System.in); 22 int cnt = 1; 23 while(in.hasNext()) { 24 int n = in.nextInt(); 25 int k = in.nextInt(); 26 if(n==0 && k==0) 27 break; 28 solve(n, k); 29 if(cnt > 1) 30 System.out.println(""); 31 System.out.printf("Case %d: ", cnt++); 32 System.out.println(dp[n][k].subtract(dp[n][k-1])); 33 } 34 } 35 } Java?
轉載于:https://www.cnblogs.com/ACMERY/p/4768014.html
總結
以上是生活随笔為你收集整理的ZOJ2604-DP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【matlab】 隐函数作图函数 ezp
- 下一篇: 崩坏3