zoukankan      html  css  js  c++  java
  • B1108 [POI2007]天然气管道Gaz 贪心

    啊啊啊,这题有毒。我想了各种花式数据结构,最后告诉我贪心???受不了。。。

    题干:

    Description
    
      Mary试图控制成都的天然气市场。专家已经标示出了最好的天然气井和中转站在成都的地图。现在需要将中转
    站和天然气井连接起来。每个中转站必须被连接到正好一个钻油井,反之亦然。 Mary特别指名,建设的天然气管
    道必须从某个天然气井开始,向南或者向东建设。Mary想知道怎么连接每个天然气井和中转站,使得需要的天然气
    管道的总长度最小。
    Input
      第一行为一个正整数n(2<=n<=50000),表示天然气井的数量(中转站的数量与之相等)。接下来n行,每行两
    个整数xi和yi(0<=xi,yi<=100000),表示天然气井的坐标。向东走则x坐标增加,向北走则y坐标增加。接下来n
    行,每行两个数xj'和yj'0<=xj',yj'<=100000),表示中转站的坐标。
    Output
      第一行包含一个数,表示最短的连接管道长度。
    Sample Input
    3
    3 5
    1 2
    4 3
    6 3
    5 2
    2 1
    Sample Output
    9
    HINT
    Source

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<ctime>
    #include<queue>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    #define duke(i,a,n) for(int i = a;i <= n;i++)
    #define lv(i,a,n) for(int i = a;i >= n;i--)
    #define clean(a) memset(a,0,sizeof(a))
    const int INF = 1 << 30;
    typedef long long ll;
    typedef double db;
    template <class T>
    void read(T &x)
    {
        char c;
        bool op = 0;
        while(c = getchar(), c < '0' || c > '9')
            if(c == '-') op = 1;
        x = c - '0';
        while(c = getchar(), c >= '0' && c <= '9')
            x = x * 10 + c - '0';
        if(op) x = -x;
    }
    template <class T>
    void write(T x)
    {
        if(x < 0) putchar('-'), x = -x;
        if(x >= 10) write(x / 10);
        putchar('0' + x % 10);
    }
    ll tot = 0;
    int main()
    {
        int n;
        read(n);
        duke(i,1,n)
        {
            ll x,y;
            read(x);read(y);
            tot -= x;
            tot += y;
        }
        duke(j,1,n)
        {
            ll x,y;
            read(x);read(y);
            tot += x;
            tot -= y;
        }
        write(tot);
        return 0;
    }
  • 相关阅读:
    Javascript:三个函数ceil()、floor()、round()的区别
    一次搞懂建模语言UML
    firewalld 指定IP访问某端口
    Java通过图片url地址获取图片base64位字符串的两种方式
    个人笔记 截止2013.05.08
    解决ie6、7 marginbottom 失效问题
    jQuery 初学
    大小不固定的图片和多行文字的垂直水平居中(转)
    border :before :after 的应用
    关于<pre></pre>标签 IE6,7下实现whitespace:prewrap;
  • 原文地址:https://www.cnblogs.com/DukeLv/p/9544913.html
Copyright © 2011-2022 走看看