题目 1282: 公交汽车

题目描述:

一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1< =n< =100),它可以通过无限次的换车来完成旅程。最后要求费用最少。

代码:

java 复制代码
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]);
    }
}
相关推荐
后青春期的诗go16 小时前
泛微OA-E9与第三方系统集成开发企业级实战记录(十五)
java·泛微·集成开发·e9
吃口巧乐兹16 小时前
理解 Agent 中的 Slash Command:从概念到自定义命令实践
java·github
青春:一叶知秋16 小时前
【C++】protobuf序列化与反序列化
开发语言·c++
夕除18 小时前
shizhan--10
java·开发语言
Zhang~Ling18 小时前
C++ 红黑树封装:myset和mymap的底层实现
开发语言·数据结构·c++·算法
原来是猿18 小时前
为什么 C++ 需要区分左值和右值?
开发语言·c++
吴声子夜歌18 小时前
JVM——并发容器实现原理
java·jvm·并发容器
xier_ran18 小时前
【infra之路】PagedAttention
java·开发语言
糖果店的幽灵18 小时前
Spring AI 从入门到精通-结构化输出
java·人工智能·spring
SilentSamsara18 小时前
NumPy 进阶:广播机制、ufunc 与向量化计算的工程实践
开发语言·python·青少年编程·性能优化·numpy