zoukankan      html  css  js  c++  java
  • Silver Cow Party

    给定一个牛A,所有牛都要去牛A那里参加活动,参加完后动后返回,所有的路是单向的。
    
    
    
    ------------------------------------------------------------------------------
    #include<iostream>
    #include<cstring>
    #include<stdio.h>
    #include<math.h>
    #include<algorithm>
    using namespace std;
    const int maxn=10200;
    #define oo 1100000
    int low[maxn];
    int Map[1200][1200];
    int v[maxn];
    int ans,n;
    void dij(int x)
    {
        memset(v,0,sizeof(v));
        for(int i=1; i<=n; i++)
            low[i] = Map[x][i];
        v[x] = 1;
        for(int i=2; i<=n; i++)
        {
            int Min = oo;
            int index;
            for(int j=1; j<=n; j++)
            {
                if(!v[j]&&low[j]<Min)
                {
                    Min = low[j];
                    index = j;
                }
            }
            v[index] = 1;
            for(int j=1; j<=n; j++)
                if(!v[j]&&low[j]>Min+Map[index][j])
                    low[j] = Min + Map[index][j];
        }
    }
    int main()
    {
        int a,b,c,m,x;
        int way[maxn];
        while(~scanf("%d%d%d",&n,&m,&x))
        {
            for(int i=1;i<=n;i++)
                for(int j=1;j<=n;j++)
            {
                if(i!=j)
                Map[i][j] = oo;
                else
                    Map[i][j] = 0;
    
            }
            for(int i=1; i<=m; i++)
            {
                scanf("%d%d%d",&a,&b,&c);
                
                   Map[a][b]  = c;
            }
            dij(x);
            for(int i=1;i<=n;i++)
                way[i] = low[i];
            
            for(int i=1;i<=n;i++)//矩阵交换
                for(int j=i+1;j<=n;j++)
            {
                int k = Map[j][i];
                Map[j][i] = Map[i][j];
                Map[i][j] = k;
            }
            dij(x);
            ans = 0;
            for(int i=1; i<=n; i++)
            {
                if(i != x)
                {
                    ans = max(ans,low[i]+way[i]);
                }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    转贴"三个月内通过Adsense赚一百万美金"
    今天申请了Google Adsense
    Asp.Net Core 多样性的配置来源
    Identity第二章
    Identity第一章
    Identity第三章 Authorize原理解析
    async和await
    ASP.Net Core简介
    【学习笔记】后缀数组 SA
    题解 [NOI2009] 植物大战僵尸
  • 原文地址:https://www.cnblogs.com/biu-biu-biu-/p/5695363.html
Copyright © 2011-2022 走看看