zoukankan      html  css  js  c++  java
  • 紫书 习题 11-1 UVa 821 (Floyd)

    水题, Floyd一遍就完了。


    #include<cstdio>
    #include<algorithm>
    #define REP(i, a, b) for(int i = (a); i < (b); i++)
    using namespace std;
    
    const int MAXN = 101;
    int d[MAXN][MAXN], n;
    
    int main()
    {
    	int u, v, kase = 0;
    	while(~scanf("%d%d", &u, &v) && u && v)
    	{
    		REP(i, 1, MAXN)
    			REP(j, 1, MAXN)
    				d[i][j] = (i == j ? 0 : 1e9);
    				
    		while(1)
    		{
    			d[u][v] = 1;
    			if(!(~scanf("%d%d", &u, &v) && u && v)) break;
    		}
    		
    		REP(k, 1, MAXN)
    			REP(i, 1, MAXN)
    				REP(j, 1, MAXN)
    					d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
    		
    		int sum = 0, cnt = 0;
    		REP(i, 1, MAXN)
    			REP(j, 1, MAXN)
    				if(d[i][j] != 1e9 && i != j)
    				{
    					cnt++;
    					sum += d[i][j];
    				}
    		
    		printf("Case %d: average length between pages = %.3f clicks
    ", ++kase, (double)sum / cnt);
    	}
    	
    	return 0;
    }

  • 相关阅读:
    day⑥:logging模块
    day⑥:shelve模块
    day⑥:xml模块
    day⑤:冒泡排序
    day⑤:模块
    day⑤:re深入
    day④:递归
    day④:迭代器
    day④:装饰器
    day③:函数式编程
  • 原文地址:https://www.cnblogs.com/sugewud/p/9819537.html
Copyright © 2011-2022 走看看