题目描述:
一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1< =n< =100),它可以通过无限次的换车来完成旅程。最后要求费用最少。
代码:
package lanqiao;import java.util.*;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int [] m_v = new int[10];for (int i = 0; i < m_v.length; i++) {m_v[i] = scan.nextInt();}int N = scan.nextInt();scan.close();int[][] pg = new int [10][N+1];for (int i = 0; i < pg[0].length; i++) {pg[0][i] = i*m_v[0];}for (int i = 1; i < pg.length; i++) {for (int j = 0; j < pg[i].length; j++) {if(i+1<=j) {pg[i][j] =Math.min(pg[i][j-i-1] + m_v[i], pg[i-1][j]);}else {pg[i][j] = pg[i-1][j];}}}System.out.println(pg[9][N]);}
}