zoukankan      html  css  js  c++  java
  • 186. [USACO Oct08] 牧场旅行

    186. [USACO Oct08] 牧场旅行

    ★★   输入文件:pwalk.in   输出文件:pwalk.out   简单对比
    时间限制:1 s   内存限制:128 MB

    n个被自然地编号为1..n奶牛(1<=n<=1000)正在同样被方便的编号为1..n的n个牧场中吃草。更加自然而方便的是,第i个奶牛就在第i个牧场中吃草。

    其中的一些对牧场被总共的n-1条双向通道的一条连接。奶牛可以通过通道。第i条通道连接的两个牧场是A_i和B_i(1<=A_i<=N;1<=B_i<=N)其长度是L_i(1<=L_i<=10000)。

    通道只会连接两个不同的牧场,所以这些通道使得整个牧场构成了一棵树。

    奶牛们是好交际的希望能够经常的访问别的奶牛。急切地,它们希望你能通过告诉它们Q(1<=Q<=1000)对牧场的路径来帮助他们安排旅行。(这里将有Q个询问,p1,p2(1<=p1<=n;1<=p1<=n))

    分数:200

    问题名称:pwalk

    输入格式:

    • 第1行:两个用空格隔开的整数:n和Q
    • 第2..n行:第i+1行包含三个用空格隔开的整数:A_i,B_i和L_i
    • 第n+1..N+Q行:每行包含两个用空格隔开的整数,代表两个不同的牧场,p1和p2

    输入样例(file pwalk.in):

    4 2
    2 1 2
    4 3 2
    1 4 3
    1 2
    3 2
    

    输出格式:

    • 第1..Q行:行i包含第i个询问的答案。

    输出样例:

    2
    7
    

    输出说明:

    询问1:牧场1和牧场2的路径长度为2。 询问2:3->4->1->2;总长为7。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<cstring>
     5 using namespace std;
     6 int map[1001][1001];
     7 const int maxn=999999;
     8 int main()
     9 {
    10     freopen("pwalk.in","r",stdin);
    11     freopen("pwalk.out","w",stdout);
    12     int n,m;
    13     scanf("%d%d",&n,&m);
    14     int a,b,c;
    15     memset(map,maxn,sizeof(map));
    16     for(int i=1;i<=n-1;i++)
    17     {
    18         scanf("%d%d%d",&a,&b,&c);
    19         map[b][a]=c;
    20         map[a][b]=c;
    21     }
    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     {
    26         if(map[i][j]>map[i][k]+map[k][j]&&map[i][j]!=maxn)
    27         {
    28             map[i][j]=map[i][k]+map[k][j];
    29         }
    30     }
    31     for(int i=1;i<=m;i++)
    32     {
    33         scanf("%d%d",&a,&b);
    34         printf("%d
    ",map[a][b]);
    35     }
    36     return 0;
    37     fclose(stdin);
    38     fclose(stdout);
    39 } 
  • 相关阅读:
    选择 冒泡 快速 插入排序
    类方法
    Java--静态区域块
    打印字母如何显示声调
    navicat 创建的表,username字段不能接受中文名字。
    C++primer plus第六版课后编程题答案10.8(来个高手教教我)
    C++primer plus第六版课后编程题答案10.7
    C++primer plus第六版课后编程题答案10.6
    错误 1 error C2143: 语法错误 : 缺少“;”(在“using”的前面)
    C++primer plus第六版课后编程题答案10.5
  • 原文地址:https://www.cnblogs.com/sssy/p/6734389.html
Copyright © 2011-2022 走看看