zoukankan      html  css  js  c++  java
  • 【杭电】[1874]畅通工程续

    这里写图片描述
    这里写图片描述

    也算是模板题目
    需要注意的
    有可能不存在从S到T的路线
    还有道路编号是 0~N-1

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

    题目地址:【杭电】[1874]畅通工程续

  • 相关阅读:
    Java方法
    Java程序控制
    Java基础语法
    编程语言的两大类型
    IntelliJ IDEA优化配置
    Hello World
    Java安装及卸载
    Java来龙去脉
    计算机底层基础
    Day14
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569620.html
Copyright © 2011-2022 走看看