• 1086.最小花费(简单的dfs)


    题目描述:
    在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对应关系如下:
    距离s           票价
    0<S<=L1         C1
    L1<S<=L2        C2
    L2<S<=L3        C3
    输入保证0<L1<L2<L3<10^9,0<C1<C2<C3<10^9。
    每两个站之间的距离不超过L3。
    当乘客要移动的两个站的距离大于L3的时候,可以选择从中间一个站下车,然后买票再上车,所以乘客整个过程中至少会买两张票。
    现在给你一个 L1,L2,L3,C1,C2,C3。然后是A B的值,其分别为乘客旅程的起始站和终点站。
    然后输入N,N为该线路上的总的火车站数目,然后输入N-1个整数,分别代表从该线路上的第一个站,到第2个站,第3个站,……,第N个站的距离。
    根据输入,输出乘客从A到B站的最小花费。
    输入:
    以如下格式输入数据:
    L1  L2  L3  C1  C2  C3
    A  B
    N
    a[2]
    a[3]
    ……
    a[N]
    输出:
    可能有多组测试数据,对于每一组数据,
    根据输入,输出乘客从A到B站的最小花费。
    样例输入:
    1 2 3 1 2 3
    1 2
    2
    2
    样例输出:
    2
    #include<iostream>  
    #include<algorithm>
    #include<cmath> 
    #define MAXN 10000  
    #define INF  0xFFFFFFFFFF  
    long long L1,L2,L3,C1,C2,C3;  
       
    long long cost(long long l1,long long l2)  
    {  
        if(abs(l1-l2)<=L1)  
            return C1;  
        else if(abs(l1-l2)<=L2)  
            return C2;  
        return C3;  
    }  
    
    long long min(long long a,long long b){
        return a<b ? a : b ;
    }
    
    int main()  
    {  
        long long  i,j,k,dp[MAXN];  
        long long  start,end,N,L[MAXN];  
        while(cin>>L1>>L2>>L3>>C1>>C2>>C3)  
        {  
            cin>>start>>end;  
            cin>>N;  
            for(i=2;i<=N;i++)  
                cin<<L[i];  
            L[1]=0;  
            for(i=0;i<=MAXN;i++)  
                dp[i]=INF;  
            dp[start]=0;    
            for(i=start;i<=end;i++)  
            {  
                for(j=i+1;j<=end&&(L[j]-L[i])<=L3;j++)  
                   dp[j]=min(dp[j],dp[i]+cost(L[i],L[j]));  
            }     
            cout<<dp[end]<<endl;  
        }  
        return 0;  
    }  
  • 相关阅读:
    sql语句查询数据库中含有某字符串的表名
    PHP复制文件夹及文件夹内的文件
    Vue.js绑定内联样式
    Vue模板语法V-bind
    Vue实例
    Vue.js几个简单用法
    Git Pull Failed: cannot lock ref 'refs/remotes/origin/xxxxxxxx': unable to resolve ref
    SSM 框架详细整合教程(IDEA版)(Spring+SpringMVC+MyBatis)
    IntelliJ IDEA(2017/2018)安装图解与破解教程
    Hadoop集群单机伪分布搭建
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9736452.html
Copyright © 2020-2023  润新知