zoukankan      html  css  js  c++  java
  • hdoj1596【spfa,松弛】

    积压很久的一道。。。一看直接spfa水过。。但是看那个safest怎么求得?松弛的时候取大。

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    typedef unsigned long long ULL;
    const double eps=1e-5;
    const double pi=acos(-1.0);
    const int mod=1e9+7;
    const int INF=0x3f3f3f3f;
    
    #define N 1010
    
    double ma[N][N];
    int n;
    bool vis[N];
    int used[N];
    double dis[N];
    int que[N*N];
    int h,ta;
    
    void spfa(int s,int t)
    {
        h=0;
        ta=1;
        memset(dis,0,sizeof(dis));
        memset(vis,0,sizeof(vis));
        dis[s]=1;
        vis[s]=1;
        que[h]=s;
        while(h<ta)
        {
            int u=que[h++];
            vis[u]=0;
            for(int i=1;i<=n;i++)
                {
                     if(ma[u][i]==0||u==i)
                        continue;
                    if(dis[i]<dis[u]*ma[u][i])
                    {
                        dis[i]=dis[u]*ma[u][i];
                        if(!vis[i])
                        {
                            vis[i]=1;
                            que[ta++]=i;
                        }
                    }
                }
        }
        if(dis[t]!=0)
            printf("%.3lf
    ",dis[t]);
        else
            puts("What a pity!");
    }
    int main()
    {
        while(~scanf("%d",&n))
        {
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=n;j++)
                {
                    scanf("%lf",&ma[i][j]);
                }
            }
            int m;
            scanf("%d",&m);
            for(int i=0;i<m;i++)
            {
                int a,b;
                scanf("%d%d",&a,&b);
                spfa(a,b);
            }
        }
         return 0;
     }
    
  • 相关阅读:
    css float
    java基础77
    java基础75
    java基础73
    java基础72
    java基础71
    java基础630
    django-模版学习
    Django--- 网页显示时间
    创建一个django项目
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/5934444.html
Copyright © 2011-2022 走看看