• zoj(1221


    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1221

    这道题前19行给出城市的联通关系比如

    1 3
      2 3 4
      3 4 5 6
      1 6
      1 7
      2 12 13
      1 8
      2 9 10
      1 11
      1 11
      2 12 17
      1 14
      2 14 15
      2 15 16
      1 16
      1 19
      2 18 19
      1 20
      1 20
      5
      1 20
      2 9
      19 5
      18 19
      16 20

    第一行表示是第一个城市有1个城市和它相连,那个城市是3,然后又n的询问,询问u->v的最短路径= =。

    考虑到数据只有20个城市,就用佛洛依德最短路

    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int f[30][30];
    #define inf 9999999
    int main()
    {
        int n,m;
        int cnt=0;
        while(scanf("%d",&n)!=EOF)
        {
            for(int i=0;i<=22;i++)
            {
                for(int j=0;j<=22;j++)
                f[i][j]=inf;
            }
            for(int i=0;i<n;i++)
            {
                scanf("%d",&m);
                f[1][m]=1;
                f[m][1]=1;
            }
            for(int i=2;i<=19;i++)
            {
                scanf("%d",&n);
                for(int j=0;j<n;j++)
                {
                    scanf("%d",&m);
                    f[i][m]=1;
                    f[m][i]=1;
                }
            } 
                    int t,ans=0,u,v;
                for(int k=1;k<=20;k++)
                {
                    for(int i=1;i<=20;i++)
                    {
                        for(int j=1;j<=20;j++)
                        if(f[i][k]+f[k][j]<f[i][j])
                        f[i][j]=f[i][k]+f[k][j];
                    }
                }    
                scanf("%d",&t);
                printf("Test Set #%d
    ",++cnt); 
                while(t--)
                {
                    scanf("%d %d",&u,&v);
                    printf("%d to %d: %d
    ",u,v,f[u][v]);  
                }
                printf("
    ");
            }
        return 0;
    }
  • 相关阅读:
    Java中替换字符串中特定字符,replaceAll,replace,replaceFirst的区别
    牛客剑指offer 67题(持续更新~)
    从尾到头打印链表
    字符串变形
    缩写
    删除公共字符
    替换空格
    二维数组的查找
    acm博弈论基础总结
    acm模板总结
  • 原文地址:https://www.cnblogs.com/NaCl/p/9580156.html
Copyright © 2020-2023  润新知