zoukankan      html  css  js  c++  java
  • 牛客假日团队赛1B.便便传送门(一)

    链接:https://ac.nowcoder.com/acm/contest/918/B

    题意:

    Farmer John最讨厌的农活是运输牛粪。为了精简这个过程,他制造了一个伟大的发明:便便传送门!与使用拖拉机拖着装满牛粪的大车从一个地点到另一个地点相比,他可以使用便便传送门将牛粪从一个地点瞬间传送到另一个地点。
    Farmer John的农场沿着一条长直道路而建,所以他农场上的每个地点都可以简单地用该地点在道路上的位置来表示(相当于数轴上的一个点)。一个传送门可以用两个数x和y表示,被拖到地点x的牛粪可以瞬间传送到地点y,反之亦然。

    Farmer John想要将牛粪从地点a运输到地点b,他建造了一个可能对这一过程有所帮助的传送门(当然,如果没有帮助,他也可以不用)。请帮助他求出他需要使用拖拉机运输牛粪的总距离的最小值。

    思路:

    总共三种走法,a->x->y->b.a->y->x->b,a->b。
    取最小的走法即可。

    代码:

    #include <bits/stdc++.h>
     
    using namespace std;
     
    typedef long long LL;
    const int MAXN = 3e5 + 10;
    const int MOD = 1e9 + 7;
    int n, m, k, t;
     
    int main()
    {
        int a, b, x, y;
        cin >> a >> b >> x >> y;
        if (a > b)
            swap(a, b);
        if (x > y)
            swap(x, y);
        int len1 = b-a;
        int ax = abs(a-x), ay = abs(a-y), bx = abs(b-x), by = abs(b-y);
        int len2 = min(ax+by, ay+bx);
        cout << min(len1, len2) << endl;
     
        return 0;
    }
    
  • 相关阅读:
    Extjs4 MVC Controller中refs使用
    Mac下下载android4.2源码,进行源码调试
    来博客园一年三个月
    今天写的比较多
    Extjs4 MVC 添加view层
    mac自带vim7配置
    动态测试及调试工具
    等价类划分的延伸
    用javascript进行测试用例的验证
    同行评审在软件测试中的应用
  • 原文地址:https://www.cnblogs.com/YDDDD/p/10995664.html
Copyright © 2011-2022 走看看