zoukankan      html  css  js  c++  java
  • nyoj 7 街区最短路径问题

     

    街区最短路径问题

    时间限制:3000 ms  |  内存限制:65535 KB
    难度:4
     
    描述
    一个街区有很多住户,街区的街道只能为东西、南北两种方向。

    住户只可以沿着街道行走。

    各个街道之间的间隔相等。

    用(x,y)来表示住户坐在的街区。

    例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。

    现在要建一个邮局,使得各个住户到邮局的距离之和最少。

    求现在这个邮局应该建在那个地方使得所有住户距离之和最小;

     
    输入
    第一行一个整数n<20,表示有n组测试数据,下面是n组数据;
    每组第一行一个整数m<20,表示本组有m个住户,下面的m行每行有两个整数0<x,y<100,表示某个用户所在街区的坐标。
    m行后是新一组的数据;
    输出
    每组数据输出到邮局最小的距离和,回车结束;
    样例输入
    2
    3
    1 1
    2 1
    1 2
    5
    2 9 
    5 20
    11 9
    1 1
    1 20
    
    样例输出
    2
    44
    
    来源
    经典题目
    上传者
    iphxer
     
    直接枚举 计算出最短距离
    View Code
     1  
     2 #include <iostream> 
     3 using namespace std;
     4 
     5 int ab(int x)
     6 {
     7     if (x>0)
     8     {
     9         return x;
    10     }
    11     return -x;
    12 }
    13 
    14 int main()
    15 {
    16     int n;
    17     cin>>n;
    18     while (n--)
    19     {
    20         int m,j,k,i;
    21         int a[20],b[20];
    22         cin>>m;
    23         for ( i=0;i<m;i++)
    24         {
    25             cin>>a[i]>>b[i];
    26         }
    27         int num=0,c[100000]={0};
    28         for (i=1;i<100;i++)
    29         {
    30             for (j=1;j<100;j++)
    31             {
    32                 for (k=0;k<m;k++)
    33                 {
    34                     c[num]+=ab(i-a[k])+ab(j-b[k]);
    35                 }
    36                 num++;
    37             }
    38         }
    39         int high2=c[0];
    40         for (i=0;i<num;i++)
    41         {
    42             if (c[i]<high2)
    43             {
    44                 high2=c[i];
    45             }
    46         }
    47         cout<<high2<<endl;
    48     }
    49     return 0;
    50 }        
  • 相关阅读:
    2020.11.6
    2020.7.15小日记
    P1536 村村通
    P1510 精卫填海
    P1020 导弹拦截
    P1164 小A点菜
    5.17练习总结
    P1135 奇怪的电梯
    P1101 单词方阵
    P1443 马的遍历
  • 原文地址:https://www.cnblogs.com/wujianwei/p/2636953.html
Copyright © 2011-2022 走看看