Tyvj_P1015

描述

一個特別的單行街道在每公里處有一個汽車站。顧客根據他們乘坐汽車的公里使來付費。例如樣例的第一行就是一個費用的單子。

沒有一輛車子行駛超過10公里,一個顧客打算行駛n公里(1<=n<=100),它可以通過無限次的換車來完成旅程。最後要求費用最少。
輸入格式

第一行十個整數分別表示行走1到10公里的費用(<=500)。注意這些數並無實際的經濟意義,即行駛10公里費用可能比行駛一公里少。
第二行一個整數n表示,旅客的總路程數。
輸出格式

僅一個整數表示最少費用。
測試樣例1

輸入

12 21 31 40 49 58 69 79 90 101
15
輸出

147

import java.util.Scanner;

public class Main {
    private static int n;
    private static int[] arr;
    private static int[] dp;

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);
        arr=new int[11];
        for(int i=1;i<=10;i++){
            arr[i]=sc.nextInt();
        }
        n=sc.nextInt();
        dp=new int[n+1];
        for(int i=1;i<=n;i++){
            if(i<=10){
                dp[i]=arr[i];
            }else{
                dp[i]=Integer.MAX_VALUE;
            }
            for(int j=1;j<=i/2;j++){
                dp[i]=Math.min(dp[i],dp[i-j]+dp[j]);
            }
        }
        System.out.println(dp[n]);

    }

}
發佈了85 篇原創文章 · 獲贊 12 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章