zoukankan      html  css  js  c++  java
  • 九度 1341 艾薇儿的演唱会

    http://ac.jobdu.com/problem.php?id=1341

    类似当年浙大上机题目,不过这个明确指出可能有重边,剩下的事情就好做了

     1 #include <stdio.h>
    2 #define INF 0xfffffff
    3 int mat[102][102];
    4 int N,M;
    5 int dij(int a,int b)
    6 {
    7 bool visited[102];
    8 int min_road[102];
    9 int i,j;
    10 for(i=0;i<N;i++){
    11 visited[i]=false;
    12 min_road[i]=mat[a][i];
    13 }
    14 int min=INF;
    15 int node=a;
    16 visited[a]=true;
    17 min_road[a]=0;
    18 for(i=1;i<=N;i++){
    19 min=INF;
    20 for(j=0;j<N;j++){
    21 if(!visited[j]&&min_road[j]<min){
    22 min=min_road[j];
    23 node=j;
    24 }
    25 }
    26 visited[node]=true;
    27 for(j=0;j<N;j++){
    28 if(!visited[j]&&min_road[j]>min_road[node]+mat[node][j])
    29 min_road[j]=min_road[node]+mat[node][j];
    30 }
    31 }
    32 return min_road[b];
    33 }
    34 int main()
    35 {
    36 while(scanf("%d%d",&N,&M)!=EOF){
    37 int a,b;
    38 scanf("%d%d",&a,&b);
    39 int i,j;
    40 for(i=0;i<N;i++)
    41 for(j=0;j<N;j++)
    42 mat[i][j]=INF;
    43 for(i=0;i<M;i++){
    44 int s,d,c;
    45 scanf("%d%d%d",&s,&d,&c);
    46 if(mat[s-1][d-1]>c)
    47 mat[s-1][d-1]=mat[d-1][s-1]=c;
    48 }
    49 printf("%d\n",dij(a-1,b-1));
    50
    51 }
    52 }



  • 相关阅读:
    CentOS7.0安装Nginx 1.7.4
    Java If ... Else
    Java 布尔运算
    Java Math
    Java 运算符
    Java 数据类型
    Java 变量
    Java 注释
    Java 基本语法
    Java 简介
  • 原文地址:https://www.cnblogs.com/yangce/p/2264463.html
Copyright © 2011-2022 走看看