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;
    }


  • 相关阅读:
    二、VueRouter ---kkb
    一、Vue组件化 ---kkb
    React项目的一些配置以及插件
    四、React全家桶(二)
    三、React全家桶(一)
    二、React组件化
    扩展欧几里得算法(含严谨证明)
    bzoj4034 树上操作
    欧几里得算法(含严谨证明)
    noip2013 车站分级
  • 原文地址:https://www.cnblogs.com/thefirstfeeling/p/4410952.html
Copyright © 2011-2022 走看看