记录编号 416779 评测结果 AAAAA
题目名称 医院设置 最终得分 100
用户昵称 Gravatar皓芷 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2017-06-22 18:39:32 内存使用 0.36 MiB
显示代码纯文本
  1. #include<cstdio>
  2. #include<iostream>
  3. #include<cstring>
  4. #define mysister
  5. using namespace std;
  6. const int maxn=105;
  7. int n,w[maxn],u,v,f[maxn][maxn],ans=0x7fffffff;
  8. int main()
  9. {
  10. freopen("hospital.in","r",stdin);
  11. freopen("hospital.out","w",stdout);
  12. scanf("%d",&n);
  13. memset(f,0x7f/2,sizeof(f));
  14. for(int i=1;i<=n;i++)
  15. {
  16. scanf("%d%d%d",&w[i],&u,&v);f[i][i]=0;
  17. if(u)f[i][u]=f[u][i]=1;
  18. if(v)f[i][v]=f[v][i]=1;
  19. }
  20. for(int k=1;k<=n;k++)
  21. for(int i=1;i<=n;i++)
  22. for(int j=1;j<=n;j++)
  23. f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
  24. for(int i=1;i<=n;i++)
  25. {
  26. int sum=0;
  27. for(int j=1;j<=n;j++)
  28. sum+=f[i][j]*w[j];
  29. ans=min(sum,ans);
  30. }
  31. printf("%d",ans);
  32. return 0;
  33. }