zoukankan      html  css  js  c++  java
  • 洛谷 P1364 医院设置

    题目传送门

    解题思路:

    先Floyd一遍,求出每个点到其他任意一个点的距离,再暴力更新以每个点为源点的最短路.这题数据范围好水

    AC代码:

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 
     5 using namespace std;
     6 
     7 int n,a[101],dist[101][101],sum[101],ans = 0x7f7f7f7f; 
     8 
     9 int main()
    10 {
    11     memset(dist,100000007,sizeof(dist));
    12     scanf("%d",&n);
    13     for(int i = 1;i <= n; i++) {
    14         int x,y;
    15         scanf("%d%d%d",&a[i],&x,&y);
    16         dist[i][i] = 0;
    17         if(x != 0) dist[x][i] = dist[i][x] = 1;
    18         if(y != 0) dist[i][y] = dist[y][i] = 1;
    19     }
    20     for(int k = 1;k <= n; k++)
    21         for(int i = 1;i <= n; i++)
    22             if(i != k)
    23                 for(int j = 1;j <= n; j++) 
    24                     if(i != j && j != k)
    25                         dist[i][j] = min(dist[i][k] + dist[k][j],dist[i][j]);
    26     for(int i = 1;i <= n; i++) {
    27         for(int j = 1;j <= n; j++) 
    28             if(i != j) 
    29                 sum[i] = sum[i] + a[j] * dist[i][j]; 
    30         ans = min(ans,sum[i]);
    31     }    
    32     printf("%d",ans);        
    33     return 0;
    34 }
  • 相关阅读:
    小端大端
    位域
    c++ 2.1 编译器何时创建默认构造函数
    python 内置&&递归
    python返回值与局部全局变量
    python file
    python set
    python 字典的函数
    python FileError
    python pickle
  • 原文地址:https://www.cnblogs.com/lipeiyi520/p/11310085.html
Copyright © 2011-2022 走看看