zoukankan      html  css  js  c++  java
  • hdu 2544

    #include<stdio.h>
    #define N 200
    #define inf 999999999
    int map[N][N],dis[N];
    void dijkstra(int v0,int n) {
    int visit[N];
    int u,min,i,j;
    for(i=1;i<=n;i++) {
    visit[i]=0;
    dis[i]=map[v0][i];
    }
    visit[v0]=1;
    for(i=1;i<=n;i++) {
    min=inf;
    for(j=1;j<=n;j++)
    if(min>dis[j]&&visit[j]==0) {
    min=dis[j];
    u=j;
    }
    visit[u]=1;
    for(j=1;j<=n;j++)
    if(!visit[j]&&map[u][j]<inf) {
    if(dis[u]+map[u][j]<dis[j]) 
    dis[j]=dis[u]+map[u][j];
    }
    }
    }
    int main() {
    int n,m,a,b,c,i,j;
    while(scanf("%d%d",&n,&m),n||m) {
    for(i=1;i<=n;i++) {
    dis[i]=inf;
    for(j=1;j<=n;j++)
    map[i][j]=i==j?0:inf;
    }
    while(m--) {
    scanf("%d%d%d",&a,&b,&c);
    map[a][b]=map[b][a]=c;
    }
    dijkstra(1,n);
    printf("%d ",dis[n]);
    }
    return 0;

    }

    flord

    #include<stdio.h>
    #define N 200
    #define inf 999999999
    int map[N][N];
    int main() {
    int n,m,i,j,k,a,b,c;
    while(scanf("%d%d",&n,&m),n||m) {
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    map[i][j]=i==j?0:inf;
    while(m--) {
    scanf("%d%d%d",&a,&b,&c);
    map[a][b]=map[b][a]=c;
    }
    for(k=1;k<=n;k++)
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    if(map[i][k]<inf&&map[k][j]<inf)  {
    if(map[i][j]>map[i][k]+map[k][j])
    map[i][j]=map[i][k]+map[k][j];
    }
    printf("%d ",map[1][n]);
    }
    return 0;
    }


  • 相关阅读:
    uniq 只能相邻行去重
    uniq 只能相邻行去重
    uniq 只能相邻行去重
    KVO(1)
    KVO(1)
    KVO(1)
    KVO(1)
    解决 Retrofit 多 BaseUrl 及运行时动态改变 BaseUrl ?
    jquery 请求成功后
    事故现场:MySQL 中一个双引号的错位引发的血案
  • 原文地址:https://www.cnblogs.com/thefirstfeeling/p/4410952.html
Copyright © 2011-2022 走看看