zoukankan      html  css  js  c++  java
  • UVa 821

    题意,给出有向图,给定的节点之间长度为1,求出平均长度,既所有道路长度和/道路数量

    分析:节点的个数最多为100个,那么直接floyd求就可以了,但是没有给出最大的节点n,需要自己求

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 const int maxn=105;
     4 const int INF=1e7+5;
     5 
     6 int m[maxn][maxn];
     7 
     8 int main(){
     9     int a,b,n,cas=1;
    10     while(~scanf("%d%d",&a,&b)&&a+b){
    11         n=-1;
    12         for(int i=0;i<maxn;i++)
    13             for(int j=0;j<maxn;j++)
    14                 m[i][j]=INF;
    15         for(int i=0;i<maxn;i++)
    16             m[i][i]=0;
    17         do{
    18             m[a][b]=1;
    19             n=max(max(a,b),n);
    20         }while(~scanf("%d%d",&a,&b)&&a+b);
    21         n++;
    22         for(int k=1;k<n;k++)
    23             for(int i=1;i<n;i++)
    24                 for(int j=1;j<n;j++)
    25                     if(m[i][j]>m[i][k]+m[k][j])
    26                         m[i][j]=m[i][k]+m[k][j];
    27         int sum=0,count=0;
    28 
    29         for(int i=1;i<n;i++)
    30             for(int j=1;j<n;j++)
    31                 if(m[i][j]<INF&&m[i][j]){
    32                     count++;
    33                     sum+=m[i][j];
    34                 }
    35         printf("Case %d: ",cas++);
    36         printf("average length between pages = %.3lf clicks
    ",1.0*sum/count);
    37     }
    38     return 0;
    39 }
    View Code
  • 相关阅读:
    MySQL Sandbox安装使用
    主从复制延时判断
    Carthage
    QCon 2015 阅读笔记
    QCon 2015 阅读笔记
    Scrum&Kanban在移动开发团队的实践 (一)
    移动开发-第三方聊天服务
    开通博客
    spark的若干问题
    hadoop2.2.0安装需要注意的事情
  • 原文地址:https://www.cnblogs.com/jihe/p/5193542.html
Copyright © 2011-2022 走看看