移动精灵
时间限制:1秒 内存限制:256M
【问题描述】
鹿盔的三个精灵残阳、若兮和灵儿,总是会自由散漫地游走到灵界的各个地方,以至于经常迷路无法返回灵舍!
灵界是一块狭长的区域——可以将其想象成一条数轴,精灵可以占据数轴上的任意整数位置。这 3 个精灵现在正位于不同的整数位置,鹿盔想要移动她们,使得她们占据三个相邻的位置(例如,位置 6、7、8)。
不幸的是,精灵们现在很困,鹿盔要让她们集中精力听从命令移动并不容易。任意时刻,他只能使得一个处在“端点”(在所有精灵中位置最小或最大)位置的精灵移动。当他移动精灵时,他可以命令她走到任意一个未被占用的整数位置,只要在新的位置上她不再是一个端点。可以看到随着时间的推移,这样的移动可以使精灵们趋向越来越近。
请求出使得精灵们集中到相邻位置所进行的移动次数的最小和最大可能值。
【输入格式】
包含一行,包括三个空格分隔的整数,为残阳、若兮和灵儿的位置。
【输出格式】
第一行包含鹿盔需要将精灵们聚集起来所需进行的最小移动次数。第二行包含他将精灵聚集起来能够进行的最大移动次数。
【输入输出样例1】
Input
4 7 9
Output
1
2
【输入输出样例1说明】
最小移动次数为1:将位置4的精灵移动到位置8,那么精灵们就处在连续的位置7、8、9。
最大移动次数为2,具体方案有两种:
方案1:先把位置9的精灵可以被移动到位置6,然后位置7的精灵可以被移动到位置5,这样三个精灵就处在4、5、6连续的三个位置;
方案2:先把位置9的精灵可以被移动到位置5,然后位置4的精灵可以被移动到位置6,这样三个精灵就处在5、6、7连续的三个位置。
【输入输出样例2】
Input
100 101 108
Output
2
6
【输入输出样例2说明】
最小移动次数为2:先将位置100的精灵移动到位置103,再把位置108的精灵移动到102处,精灵们就处在连续的位置101、102、103。
最大移动次数为8,其中的一种移动方案如下:
第1次将位置100的精灵移动到位置102,则三个精灵的位置是101、102、108;
第2次把位置101的精灵移动到位置103,则三个精灵的位置是102、103、108;
第3次将位置102的精灵移动到位置104,则三个精灵的位置是103、104、108;
第4次将位置103的精灵移动到位置105,则三个精灵的位置是104、105、108;
第5次将位置104的精灵移动到位置106,则三个精灵的位置是105、106、108;
第6次将位置105的精灵移动到位置107,则三个精灵的位置是106、107、108;
【子任务】
保证所有测试点给出位置均为一个范围1..10^9内的正整数。
子任务会给出部分测试数据的特点。如果你在解决题目中遇到了困难,可以尝试只解决一部分测试数据。每个测试点的数据规模及特点如下表:
表中的相邻是指连个精灵是在连续两个坐标位置上。
【来源】
Mr.he
信息
- ID
- 1490
- 难度
- (无)
- 分类
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 被复制
- 3
- 上传者