zoukankan      html  css  js  c++  java
  • POJ2387 Til the Cows Come Home -DIJKSTRA 练习

    题目大意是:有N个牛棚和T条边相连,每条边有个权值,问1号到N号牛棚之间的最短距离

    本题是又是DIJKSTRA最短路水题,注意任何两个牛棚之间可能有多条路相连,输入时先输入边,再输入点,程序如下:

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    const int maxn=1010,maxint=1000000000;
    int a[maxn][maxn],d[maxn],p[maxn];
    int main(){
        int i,j,k,l,m,n;
        int x,y,z;
        scanf("%d%d",&m,&n);
        for(i=1;i<=m;i++){
            scanf("%d%d%d",&x,&y,&z);                 
            if(!a[x][y]){
                a[x][y]=z;
                a[y][x]=z;             
            }else{
                a[x][y]=a[x][y]<z?a[x][y]:z;
                a[y][x]=a[y][x]<z?a[y][x]:z;                   
            }    }
        for(i=1;i<=n;i++)d[i]=maxint;
        d[1]=0;
        int mind;
        for(i=1;i<=n;i++){
            mind=maxint;
            for(j=1;j<=n;j++)
                if(!p[j] && d[j]<mind){
                    mind=d[j];
                    k=j;         
                }
            p[k]=1;        
            for(j=1;j<=n;j++)
                if(!p[j] && a[k][j] && d[j]>d[k]+a[k][j])
                    d[j]=d[k]+a[k][j];                  
        }    
        printf("%d
    ",d[n]);
        return 0;    
    }
    


  • 相关阅读:
    AutoMapper使用
    C#网络编程
    ASP.NET MVC (Razor)开发
    React的React Native
    WCF搭建
    异步编程
    Async和Await进行异步编程
    C#开发中使用配置文件
    NET转Java
    net 开源组件
  • 原文地址:https://www.cnblogs.com/cnyali/p/4163897.html
Copyright © 2011-2022 走看看