zoukankan      html  css  js  c++  java
  • Bellman-Ford算法

    http://poj.org/problem?id=1364

     1 #include<stdio.h>
     2 #include<string.h>
     3 #define maxn 105
     4 #define INF 999999999
     5 typedef struct
     6 {
     7     int u,v,w;
     8 }node;
     9 node a[maxn];
    10 int n,m,cnt;
    11 int dist[maxn];
    12 void add(int u,int v,int w)
    13 {
    14     a[cnt].u=u;
    15     a[cnt].v=v;
    16     a[cnt].w=w;
    17     cnt++;
    18 }
    19 int bellman_ford()
    20 {
    21     for(int i=1;i<=n;i++)
    22         dist[i]=INF;
    23     dist[0]=0;
    24     for(int i=1;i<=n;i++)
    25     {
    26         for(int j=0;j<cnt;j++)
    27             if(dist[a[j].v]>dist[a[j].u]+a[j].w)
    28               dist[a[j].v]=dist[a[j].u]+a[j].w;
    29     }
    30     for(int j=0;j<cnt;j++)
    31         if(dist[a[j].v]>dist[a[j].u]+a[j].w)
    32           return 0;
    33     return 1;
    34 }
    35 int main()
    36 {
    37     while(scanf("%d",&n)!=EOF)
    38     {
    39         if(n==0)  break;
    40         scanf("%d",&m);
    41         cnt=0;
    42         while(m--)
    43         {
    44             int si,ni,ki;
    45             char ch[2];
    46             scanf("%d%d%s%d",&si,&ni,ch,&ki);
    47             if(ch[0]=='g')
    48                 add(si+ni,si-1,-ki-1);
    49             else
    50                 add(si-1,si+ni,ki-1);
    51         }
    52         if(bellman_ford())
    53             printf("lamentable kingdom
    ");
    54         else
    55             printf("successful conspiracy
    ");
    56 //        for(int i=0;i<cnt;i++)
    57 //            printf("%d %d %d
    ",a[i].u,a[i].v,a[i].w);
    58     }
    59     return 0;
    60 }
  • 相关阅读:
    linux-vi/vim
    Linux性能监控-ss
    Linux性能监控-netstat
    Linux性能监控-sar
    Linux性能监控-htop
    Linux性能监控-pstree
    Linux性能监控-ps
    查看linux占用内存/CPU最多的进程
    Linux性能监控-top
    Linux-cpu-socket/core/processor
  • 原文地址:https://www.cnblogs.com/lyf123456/p/3687169.html
Copyright © 2011-2022 走看看