zoukankan      html  css  js  c++  java
  • poj3767 I Wanna Go Home

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<stdlib.h>
     4 #define Max 0xfffffff
     5 int m[610][610],p[610];
     6 bool vis[610];
     7 bool leader[610];
     8 int vexnum,arcnum;
     9 void dijkstra()
    10 {
    11     int i,j,k,t,min;
    12     memset(vis,0,sizeof(vis));
    13     for(i=1;i<=vexnum;++i)
    14         p[i]=m[1][i];
    15     for(vis[1]=k=1;k<vexnum;++k){
    16         for(min=Max,i=1;i<=vexnum;++i)
    17             if(!vis[i]&&min>p[i]){
    18                 min=p[i];
    19                 t=i;
    20             }
    21             vis[t]=1;
    22             for(i=1;i<=vexnum;++i)
    23                 if(!vis[i]&&p[i]>min+m[t][i])
    24                     p[i]=min+m[t][i];
    25     }
    26 }
    27 int main()
    28 {
    29     int i,j,t,a,b,w;
    30     while(scanf("%d",&vexnum),vexnum&&scanf("%d",&arcnum)){
    31         for(i=1;i<=vexnum;++i)
    32             for(j=1;j<=vexnum;++j)
    33                 m[i][j]=m[j][i]=Max;
    34         for(i=0;i<arcnum;++i){
    35             scanf("%d%d%d",&a,&b,&w);
    36             if(w<m[a][b])
    37                 m[a][b]=m[b][a]=w;
    38         }
    39         for(i=1;i<=vexnum;++i){
    40             scanf("%d",&t);
    41             leader[i]=t-1;
    42         }
    43         for(i=1;i<=vexnum;++i)
    44             for(j=1;j<=vexnum;++j){
    45                 if(leader[i]!=leader[j]){
    46                     if(leader[i]) m[i][j]=Max;
    47                     else m[j][i]=Max;
    48                 }
    49             }
    50         dijkstra();
    51         if(p[2]<Max) printf("%d\n",p[2]);
    52         else printf("-1\n");//忘加了一个“-1”,贡献了一个WA
    53     }
    54     system("pause");
    55     return 0;
    56 }

    //稍微变化一下的dijktra

  • 相关阅读:
    事件溯源的使用实例
    CQRS With Axon
    maven打包带依赖
    MongoDB Query语法和工具
    docker 在外部指定参数变量 spring
    logger 过滤部分类的logger
    Nginx ServerName指令
    Nginx 处理Http请求简单流程
    Listen 指令
    Nginx 配置
  • 原文地址:https://www.cnblogs.com/shihuajie/p/2649419.html
Copyright © 2011-2022 走看看