解题思路:
答案是从网上找的
注意事项:
参考代码:
import java.util.Scanner; public class test { //动态规划问题,设f[i][j]是前i种花摆放j盆的方案,则f[i][j]=f[i-1][j-k] public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt();//n种花 int m = scanner.nextInt();//共m盆 int[] a = new int[n+1]; int[][] f = new int[n+1][m+1] ; for (int i = 1; i <= n; i++) { a[i] = scanner.nextInt(); } //前1种花,摆放a[1]盆就一种方案 for (int i = 1; i <= a[1]; i++) { f[1][i] = 1; } //前i中花,摆放0盆就一种方案 for (int i = 1; i <= n; i++) { f[i][0] = 1; } //前i种花,摆放j盆共f[i][j]=f[i][j]+f[i-1][j-k]种 for (int i = 2; i <= n; i++) { for (int j = 1; j <= m; j++) { for (int k = 0; k <= a[i]&&k<=j; k++) { f[i][j]=f[i][j]+f[i-1][j-k]; f[i][j] = f[i][j] % 1000007; } } } System.out.println(f[n][m]); } }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:633 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:799 |
哥德巴赫曾猜测 (C语言代码)浏览:2352 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:563 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:573 |
核桃的数量 (C语言代码)浏览:829 |
C语言训练-求PI* (C语言代码)浏览:512 |
1227题解浏览:533 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:523 |