C++Teleportation[USACO-2018-Feb-B1]

  • Post author:
  • Post category:其他




Teleportation[USACO-2018-Feb-B1]

题目描述

Farmer John最不喜欢的一项农活就是搬运粪肥。为了能够流水线化这项工作,他创造出了一个伟大的发明:粪肥传送器。它可以代替使用拖拉机在两个站点之间搬运粪肥,这个粪肥传送器可以直接把粪肥从一个站点传送到另一个站点。

Farmer John的农场是沿着一条长直的道路建设的,所以农场上的每个站点都可以用这个站点在这条道路上的位置来表示(相当于数轴上的点)。一个传送器可以用x和y两个数来表示,表示这个传送器可以直接把站点x的粪肥瞬间移动到站点y,或者是把站点y的粪肥直接运送到站点x。

Farmer John想把粪肥从站点a运送到站点b,他只创造了一个可能在这次运输中有所帮助的传送器,当然如果这个传送器没有起到任何帮助,在这次运送中可以不使用。请你帮助他计算一下,在这个把粪肥从站点a运送到站点b的任务中,需要使用拖拉机来运送粪肥的最小距离。

输入格式

一行,四个用空格隔开的整数,a、b、x、y,分别表示这次任务的起点a和终点b,接下来,x和y 表示传送器。这四个整数的范围都是0~100之间的整数,不一定各不相同。

输出格式

一行,一个整数,表示此次运送任务中,使用拖拉机来运送的最小距离

输入输出样列

输入样例1:

3 10 8 2

输出样例1:

3

说明

样例说明:

在这个样例中,最佳策略是将粪肥用拖拉机从位置3运到位置2,再使用传送器将它传送到位置8,再使用拖拉机从位置8运到位置10。 所以需要用拖拉机的总距离为1 + 2 = 3。

【耗时限制】1000ms 【内存限制】128MB


思路:



首先要吐槽一下:搬运农肥的问题为什么要我们来写啊!


这道题也是一道水题,最终代码也是几行就可以搞定的。

该问题中Farmer John共有3种可选的方案:


方案1

:不使用传送器,那么使用拖拉机运送的距离为:abs(a-b)。


方案2

:先使用拖拉机将化肥从起点a运送到x,接着使用传送器将化肥从x传送到y,最后再使



版权声明:本文为wy19781979原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。