• NYOJ-115 Dijlstra


    原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=115  

     1 #include"iostream"
     2 #include"stdio.h"
     3 #include"algorithm"
     4 #include"string.h"
     5 using namespace std;
     6 #define INF 99999999 
     7 #define MAXN 1005
     8 int map[MAXN][MAXN];//邻接矩阵
     9 int dis[MAXN]; //记录单元最段路径
    10 int visited[MAXN]; //F为访问0,已访问1
    11 int nux[MAXN]; //第I个军队驻扎在 nux【i】个城市 
    12 int N;
    13 int M;
    14 int P;
    15 int Q;
    16 void dijkstra(int s){//s到个点距离 
    17         memset(visited,0,sizeof(visited));
    18         visited[s]=1;
    19         for(int i=1;i<=M;i++)
    20                 dis[i]=map[s][i];    
    21         for(int i=1;i<=M;i++){
    22             int minn=INF;
    23             int u;
    24             for(int j=1;j<=M;j++){
    25                 if(visited[j]==0&&dis[j]<minn){
    26                     minn=dis[j];
    27                     u=j;
    28                 }
    29             }
    30             visited[u]=1;
    31              for(int v=1;v<=M;v++){
    32                  if(visited[v]==0&&map[u][v]<INF&&dis[v]>dis[u]+map[u][v])
    33                      dis[v]=dis[u]+map[u][v];
    34              }
    35         }
    36 }
    37 int main()
    38 {
    39     int T;
    40     scanf("%d",&T);
    41     while(T--)
    42     {
    43         scanf("%d%d%d%d",&N,&M,&P,&Q);
    44         for(int i=0; i<=M; i++)//初始化邻接矩阵
    45             for(int j=0; j<=M; j++)
    46                 i==j?map[i][j]=0:map[i][j]=INF;
    47         for(int i=1; i<=N; i++) //部队驻扎的城市
    48             scanf("%d",&nux[i]);
    49         int a,b,t;//临时接收数据
    50         while(P--)
    51         {
    52             scanf("%d%d%d",&a,&b,&t);
    53             if(map[a][b]>t)
    54                 map[a][b]=map[b][a]=t;//无向图
    55         }
    56         int min_time=INF;//最短时间
    57         dijkstra(Q);
    58         for(int i=1; i<=N; i++)//寻找最短时间
    59             min_time=min(min_time,dis[nux[i]]);
    60         printf("%d
    ",min_time);
    61     }
    62     return 0;
    63 }
  • 相关阅读:
    c3p0用c3p0-config.xml方式配置 和 用spring配置时一点小区别
    mysql配置
    tomcat监控工具Probe
    tomcat配置
    jsp页面动态包含和静态包含
    servlet3的文件上传
    System.currentTimeMillis()和new Date().getTime()比较
    js-html2canvas导出html图片 导出pdf
    html中使用富文本编辑器
    Vue----vue-resource
  • 原文地址:https://www.cnblogs.com/hutonm/p/5471470.html
Copyright © 2020-2023  润新知