链接: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;
}

最新文章

  1. MYSQL基础操作
  2. Matrix Factorization SVD 矩阵分解
  3. MongoDB数据库的操作,增删改查
  4. Java 多态——与C++的比较
  5. JSTL核心标签库使用
  6. HDU 4374 One hundred layer DP的单调队列优化
  7. 在每次request请求时变化session
  8. CentOS 6.0 设置IP地址、网关、DNS
  9. C# 之 读取Word时发生 “拒绝访问” 及 “消息筛选器显示应用程序正在使用中” 异常的处理
  10. thinkphp 区分大小写的文件存在判断
  11. IOS获取经度纬度
  12. endsWith is not a function解决方案
  13. 深度学习之tensorflow (一)
  14. MySQL ODBC 3.51 Driver - Access Denied
  15. 安装VMware workstation遇到的两个问题:安装过程中的DLL问题和安装后打开需要的管理权限问题
  16. 【Java每日一题】20170328
  17. [转帖]NUMA
  18. 【转】CentOS 7部署ASP.NET Core应用程序
  19. MySQL之EXPLAIN 执行计划详解
  20. for练习相关

热门文章

  1. tomcat可以访问默认页面,但是无法访问webapp下的指定项目
  2. 分立元件封装尺寸及PCB板材工艺与设计实例
  3. [转]PNG8和PNG24的区别
  4. android开发 MyEclipse下测试连接MySQL数据库
  5. centos下升级mysql5.5.47到5.7.14操作过程
  6. pip3 更改安装源
  7. JUI web企业应用框架 http://jui.org/
  8. 【转】Pro Android学习笔记(五三):调试和分析(1):Debug视图和DDMS视图
  9. JVM体系结构之一:总体介绍
  10. ObservableCollection和List的区别总结