跳棋Ⅰ
比赛主页
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
有一个
的棋盘网格。初始的时候,最左边两个位置上分别放置了一枚棋子。你的目标是最终使得这两个棋子分别放置在最右边的两个位置
你可以进行接下来的两种操作:
选择一枚棋子,朝着相邻位置移动一步
选择一枚棋子,朝着另一枚棋子进行等距离对称跳一步
操作过程中,不允许棋子移动到网格以外的位置,也不允许两枚棋子同时在相同位置
两枚棋子互不区分,问:
最少
操作多少次,可以使得这两个棋子分别放置在最右边的两个位置上
输入描述:
输入一个整数
,表示
的棋盘
输出描述:
输出一个整数,表示最少操作多少次,可以使得这两个棋子分别放置在最右边的两个位置上
示例1
输入
复制
5
5
输出
复制
3
3
说明
最少只需要三步,其中一种移动方式如下图:
示例2
输入
复制
3
3
输出
复制
1
1
示例3
输入
复制
2
2
输出
复制
0
0
跳棋Ⅰ
返回全部题目
列表加载中...
5
3
3
1
2
0