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的常用查询创建命令
    maven的简介
    google guava
    分库分表的情况下生成全局唯一的ID
    书单
    MD5Util
    UUID生成工具
    nodejs学习笔记三——nodejs使用富文本插件ueditor
    nodejs学习笔记二——链接mongodb
    mongodb 安装
  • 原文地址:https://www.cnblogs.com/jihe/p/5193542.html
Copyright © 2011-2022 走看看