【USACO 2019 February Bronze】Sleepy Cow Herding
2431. 移动奶牛(herding)
(File IO): input:herding.in output:herding.out
题目描述
Farmer John的三头获奖奶牛Bessie、Elsie和Mildred,总是会迷路走到农场上遥远的地方去!他需要你帮助将她们一起赶回来。
农场的草地大体是一块狭长的区域——我们可以将其想象成一条数轴,奶牛可以占据数轴上的任意整数位置。这3头奶牛现在正位于不同的整数位置,Farmer John想要移动她们,使得她们占据三个相邻的位置(例如,位置6、7、8)。
不幸的是,奶牛们现在很困,Farmer John要让她们集中精力听从命令移动并不容易。任意时刻,他只能使得一头处在“端点”(在所有奶牛中位置最小或最大)位置的奶牛移动。当他移动奶牛时,他可以命令她走到任意一个未被占用的整数位置,只要在新的位置上她不再是一个端点。可以看到随着时间的推移,这样的移动可以使奶牛们趋向越来越近。
请求出使得奶牛们集中到相邻位置所进行的移动次数的最小和最大可能值。
输入
输入包含一行,包括三个空格分隔的整数,为Bessie、Elsie和Mildred的位置。每个位置均为一个范围1…10^9内的整数。
输出
输出的第一行包含Farmer John需要将奶牛们聚集起来所需进行的最小移动次数。第二行包含他将奶牛聚集起来能够进行的最大移动次数。
样例输入
4 7 9
样例输出
1
2
数据范围限制
提示
最小移动次数为1——如果Farmer John将位置4的奶牛移动到位置8,那么奶牛们就处在连续的位置7、8、9。最大移动次数为2。例如,位置9的奶牛可以被移动到位置6,然后位置7的奶牛可以被移动到位置5。
这题其实就是纯粹的数学题。
1.计算最小值
如果我们观察一下就会发现有以下几种情况:
1.
就是三头奶牛本身就在一起的情况。这种情况下当然不用移动啦(次数为零)
2.
其中两头奶牛中间刚好空了一个位子,这样的话只用把另外一头奶牛移到它们两个中间就好了。
3.注:黄色点为移动的中间过程
如果前两种情况都不是,那最少就只用2次移动了。因为你只要将其中一个端点移到离中间端点空1个位置的地方,再让另一个端点移到空位上就行了。
2.计算最大值
只用用三个点间的最大间距-1。
有图有真相
看懂了吗?先找出间距最大的两个端点,把另外一个端点移到其中一个端点,再用现在的端点重复此过程,直到三个点相邻为止。
买个广告,我用的这个软件叫几何画板,有兴趣的来看一看瞧一瞧。
【USACO 2019 February Bronze】Sleepy Cow Herding相关推荐
- 【USACO 2007 February Silver】农场派对
Description N(1<=N<=1000)头牛要去参加一场在编号为x(1<=x<=N)的牛的农场举行的派对.有M(1<=M<=100000)条有向道路,每条 ...
- 【USACO 2018 December Bronze】The Bucket List题解
题目描述 Farmer John正在考虑改变他给奶牛挤奶的时候分配牛奶桶的方式.他认为这最终能使得他使用数量更少的桶,然而他不清楚具体是多少.请帮助他! Farmer John有N头奶牛(1≤N≤10 ...
- 题解 【USACO 4.2.1】草地排水
[USACO 4.2.1]草地排水 Description 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫 ...
- 【USACO 2020 January Silver】Loan Repayment 题解
[USACO 2020 January Silver]Loan Repayment 题目: 题目描述 Farmer John 欠了 Bessie N 加仑牛奶(1≤N≤10^12).他必须在 K 天内 ...
- BSOJ4217 【USACO 2013 Feburary Gold】旅行线路 DP(双路递推)
4217 -- [USACO 2013 Feburary Gold]旅行线路 Description 贝西经营着一家旅行社,一天贝西带着几队游客沿着亚马逊河旅行,河的两边分布着一些景点,每个景点都对应 ...
- 棒棒糖-小学数学出题机v1.4.2【更新2019/12/26】
[推荐]2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今年儿子刚上一年级,现在每天要做口算题,每次都要打印100题随机题目让他做,网上找了很多出题器,不是操作太繁琐 ...
- 【USACO 2.3.4】Cow Tours 牛的旅行
题目描述 农民 John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧场通过任何路径都不连通.这样,Farmer John就有多个 ...
- 【USACO 2.1.4】荷斯坦奶牛
[题目描述] 纪念"逝去"的Wecing 农民JOHN以拥有世界上最健康的奶牛为傲.他知道每种饲料中所包含的牛所需的最低的维他命量是多少.请你帮助农夫喂养他的牛,以保持它们的健康, ...
- 【USACO 3.2.3】纺车的轮子
[描述] 一架纺车有五个纺轮,这五个不透明的轮子边缘上都有一些缺口.这些缺口必须被迅速而准确地排列好.每个轮子都有一个起始标记(在0度),这样所有的轮子都可以在统一的已知位置开始转动.轮子按照角度变大 ...
- 【CSP-S 2019 D2 T1】P5664 Emiya 家今天的饭
HyperlinkHyperlinkHyperlink https://www.luogu.com.cn/problem/P5664 DescriptionDescriptionDescription ...
最新文章
- Linux之复制、移动文件及目录命令
- 百利而无一害的技术——Linux
- 使用sublime text3 连接sftp/ftp(远程服务器)
- ARM中LDR伪指令与LDR加载指令
- 常用排序算法(二)快速排序
- nginx搭建静态服务器(127.0.0.1/localhost访问)
- GDI+图像处理前言
- 如何固定最小宽度_如何使用更新的HTML和CSS函数创建响应式设计
- python反汇编指令_IDApython 命令
- “谷歌杀手”发明者,科学天才 Wolfram
- 华为手机浏览器不支持PUT提交方式的解决方案
- java.io.File 的一些记录
- jmp怎么做合并的箱线图_JMP和Minitab的图形分析
- 破解无线网络密码(蹭网教程
- 网易云精选评论,总有一句戳在你心里
- 半路出家,如何推销自己?
- 异常 illegal character 200B
- 1分钟快速实现高效的扫描二维码,急速识别手机相册二维码
- 析测结Trimble TILOS v9.0 1CD
- Dubbo服务端服务发布(一)Invoker创建