zoukankan      html  css  js  c++  java
  • UVA 821 Page Hopping

    Floyd水题

    #include<cstdio>
    #include<iostream>
    using namespace std;
    int N;
    const int MAXN=1111;
    int Map[MAXN][MAXN],b[MAXN],path[MAXN][MAXN];
    int u[MAXN],v[MAXN];
    void init()
    {
        int i,j;
        for(i=1; i<=N; i++)
            for(j=1; j<=N; j++)
            {
                Map[i][j]=99999999;
                path[i][j]=j;
            }
    }
    void floyd()
    {
        int i,j,k;
        for(k=1; k<=N; k++)
            for(i=1; i<=N; i++)
                for(j=1; j<=N; j++)
                    if(Map[i][k]!=99999999&&Map[k][j]!=99999999&&Map[i][j]>Map[i][k]+Map[k][j])
                    {
                        Map[i][j]=Map[i][k]+Map[k][j];
                        path[i][j]=path[i][k];
                    }
    }
    int main()
    {
        int m,len,TOT;
        int TT=1;
        while(1)
        {
            int MA=-999999;
            TOT=0;
            scanf("%d%d",&u[TOT],&v[TOT]);
            if(u[TOT]>MA) MA=u[TOT];
            if(v[TOT]>MA) MA=v[TOT];
            if(u[TOT]==0&&v[TOT]==0) break;
            TOT++;
            while(1)
            {
                scanf("%d%d",&u[TOT],&v[TOT]);
                if(u[TOT]>MA) MA=u[TOT];
                if(v[TOT]>MA) MA=v[TOT];
                if(u[TOT]==0&&v[TOT]==0) break;
                TOT++;
            }
            N=MA; init();
            for(int ii=0;ii<TOT;ii++) Map[u[ii]][v[ii]]=1;
            floyd();
            int tot1=0,tot2=0;
            for(int i=1;i<=N;i++)
                for(int j=1;j<=N;j++)
                {
                    if(i==j) continue;
                    if(Map[i][j]!=99999999)
                    {
                        tot1++;
                        tot2+=Map[i][j];
                    }
                }
            printf("Case %d: average length between pages = %.3lf clicks
    ",TT++,1.0*tot2/tot1);
        }
        return 0;
    }
  • 相关阅读:
    IMDB情感分类学习
    torchtext入门学习
    3.1日学习笔记|3.2日学习笔记
    2.24日学习笔记|2.26日学习笔记|2.27|2.28
    快慢指针问题
    2.21日学习笔记|2.22日学习笔记|2.23学习笔记
    dinic模板
    P1247 取火柴游戏 博弈nim
    博弈论
    P2161 [SHOI2009]会场预约 树状数组
  • 原文地址:https://www.cnblogs.com/zufezzt/p/4723575.html
Copyright © 2011-2022 走看看