美文网首页
多起点多终点

多起点多终点

作者: moosoo | 来源:发表于2016-04-21 17:51 被阅读66次
以图为例
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <string>
#include <cstring>
using namespace std;

struct node{    
    int total;  
    int id;     
}num[30];
int graph[30][30];
String  res[30]={"S1","S2","S3","S4","S5","A1","A2","A3","A4","A5","B1","B2","B3","B4","B5","C1","C2","C3","C4","C5","T1","T2","T3","T4","T5"};
int main(){
    int vst,ved,val;
    for(int i=0;i<32;i++){
         cin>>vst>>ved>>val;
         graph[vst][ved]=val;     
    }   
    int maxn=20,minn=16;    
    for(int i=4;i>=1;--i){  
        int tmp;    
        if(i%2==0)  tmp=5;  
        else   tmp=4;
        for(int j=maxn;j>=minn;--j){    
            if(graph[j][j+tmp]&&graph[j][j+tmp+1]){ 
                 if(graph[j][j+tmp]+num[j+tmp].total>graph[j][j+tmp+1]+num[j+tmp+1].total){  
                     num[j].total+=graph[j][j+tmp+1]+ num[j+tmp+1].total;
                     num[j].id=j+tmp+1;
                }       
                else{
                    num[j].total+=graph[j][j+tmp]+num[j+tmp].total;
                     num[j].id=j+tmp;
                }
            }
            else if(graph[j][j+tmp]&&!graph[j][j+tmp+1]){                    
                num[j].total+=graph[j][j+tmp]+num[j+tmp].total;
                num[j].id=j+tmp;
            }
            else if(!graph[j][j+tmp]&&graph[j][j+tmp+1]){
                 num[j].total+=graph[j][j+tmp+1]+num[j+tmp+1].total;
                 num[j].id=j+tmp+1;
            }
        }
        maxn-=5;
        minn-=5;
    }
    int ans=10086;          
    for(int i=1;i<=5;i++){
        if(ans>num[i].total){
            ans=num[i].total;
            num[0].id=i;
        }
    }
    cout<<ans<<endl;
    for(int i=0;num[i].id!=0;i=num[i].id)
        cout<<res[num[i].id-1]<<" ";        
    cout<<endl;
    return 0;
}

相关文章

  • 多起点多终点

  • 今天4点多起床

    醒了睁开眼,拿起手机看手时间4.22,索性起床。早做完功课,早上班,反正自己开车,自己说了算,哈哈。怎么老是感觉时...

  • 凌晨三点多起床

    猫咪今天是凌晨三点半起床的。 这个信息让我有点吃惊。尽管听说他八点多就睡了,但三点多起床,也并不是一件容易的事。 ...

  • 连续三天10点多起床

    今天天气很不好 不像昨天有太阳 天晕晕沉沉的 搞得我也没什么精力 你当然可以理解成我一天宅家无所事事的借口 因为就...

  • 🐣早上五点多起床催全家出发~

    今天早上5岁儿子五点多就起床了,兴奋得大叫大笑,手舞足蹈快乐歌唱!要把全家都吵醒的节奏,因为今天要去深圳外公...

  • 日更201.跑着去看海

    早上六点多起来去跑步了,跑到最后的终点是大海,感觉很惊喜。 非常喜欢跑步看到的美景,这种感觉好幸福。 和闺蜜去染了...

  • 前路的终点多美好。

    多美是趁着这次出差回一中母校来看看的。路旁的香樟和广玉兰愈发的郁盛茁壮,淡淡的香味混合着青春的气息在阳光下发酵,许...

  • 日出

    今天五点多起床看日出

  • 2022-07-28

    早晨4点多起来痛哭

  • 【日更47】

    最近特别累。每天12点多睡,早晨6点多起床,有时候5点多就醒了。不过又睡了一觉,直到7点多起床。8点多喊孩子们起床...

网友评论

      本文标题:多起点多终点

      本文链接:https://www.haomeiwen.com/subject/ixitrttx.html