zoukankan      html  css  js  c++  java
  • 【POJ】[2387]Til the Cows Come Home

    这里写图片描述

    运用了最基础版的Dijkstra算法
    还是很生疏……

    很简单的最短路问题
    题目说的那么多背景……
    其实就是给各个路的权
    然后求从1~N的最短路

    需要注意有重复边 所以加个判断保留最短的权
    多组测试数据……

    #include<stdio.h>
    int e[1200][1200],dis[1200];
    int main() {
        int inf=999999;
        int T,n;
        while(scanf("%d %d",&T,&n)!=EOF) {
            for(int i=1; i<=n; i++) {
                for(int j=1; j<=n; j++) {
                    if(i==j)
                        e[i][j]=0;
                    else
                        e[i][j]=inf;
                }
            }
            while(T--) {
                int x,y,t;
                scanf("%d %d %d",&x,&y,&t);
                if(e[x][y]>t)
                    e[x][y]=e[y][x]=t;
            }
            for(int i=1; i<=n; i++)
                dis[i]=e[1][i];
            bool flag[1200];
            for(int i=2; i<=n; i++)
                flag[i]=false;
            flag[1]=true;
            for(int i=1; i<=n; i++) {
                int min=inf,tj;
                for(int j=1; j<=n; j++) {
                    if(!flag[j]&&dis[j]<min) {
                        min=dis[j];
                        tj=j;
                    }
                }
                flag[tj]=true;
                for(int k=1; k<=n; k++) {
                    if(e[tj][k]<inf) {
                        if(dis[k]>dis[tj]+e[tj][k])
                            dis[k]=dis[tj]+e[tj][k];
                    }
                }
            }
            printf("%d
    ",dis[n]);
        }
        return 0;
    }
    

    题目地址:【POJ】Til the Cows Come Home

  • 相关阅读:
    多进程2
    并发编程
    粘包
    socket
    网络编程
    异常与网络编程
    面向对象高级
    多态
    面向对象2
    SQL数据库约束行为---防止数据乱填(即数据规范化)
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569779.html
Copyright © 2011-2022 走看看