医院建设 codevs 2577

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了医院建设 codevs 2577相关的知识,希望对你有一定的参考价值。

Floyd+二叉树

#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
using namespace std;
int a[101];
int g[101][101];
int main()
{
  int n,i,j,k,l,r,min,ans;
  cin>>n;
 for (i=1;i<=n;i++)
  for (j=1;j<=n;j++)
    g[i][j]=10000000;
  for (i=1;i<=n;i++)
  {
    g[i][i]=0;
    cin>>a[i]>>l>>r;
    if (l>0) g[i][l]=g[l][i]=1;
    if (r>0) g[i][r]=g[r][i]=1;
  }
  for (k=1;k<=n;k++)
    for (i=1;i<=n;i++)
      if (i!=k)
       for (j=1;j<=n;j++)
         if (i!=j&&k!=j&&g[i][k]+g[k][j]<g[i][j])
            g[i][j]=g[i][k]+g[k][j];
  min=0x7fffffff;
  for (i=1;i<=n;i++)
  {
    ans=0;
    for (j=1;j<=n;j++)
      ans+=g[i][j]*a[j];
    if (ans<min) min=ans;
  }
  cout<<min<<endl;
  return 0;
}

以上是关于医院建设 codevs 2577的主要内容,如果未能解决你的问题,请参考以下文章

codevs 2577 医院设置

codevs 2577 医院设置

0618图的整理

2577 医院设置

智慧医院:市县医院BI(商业智能)建设方案(图文)

子母钟(网络时钟系统)助力医院学校数字化建设