在乙個長度為 nn 的座標軸上,蒜頭君想從 aa 點 移動到 bb 點。他的移動規則如下:
向前一步,座標增加 1。
向後一步,座標減少 1。
跳躍一步,使得座標乘 2。
蒜頭君不能移動到座標小於 0 或大於 n 的位置。蒜頭想知道從 aa 點移動到 bb 點的最少步數是多少,你能幫他計算出來麼?
輸入格式
第一行輸入三個整數 n,a,b,分別代表座標軸長度,起始點座標,終點座標。(0≤a,b≤n≤5000)
輸出格式
輸出乙個整數佔一行,代表蒜頭要走的最少步數。
樣例輸入複製102
7樣例輸出複製
3
#include
int n, a, b, a[
5001];
void
bfs(
int i)
if(i -
1>=
0&& i -
1<= n)
if(a[i -1]
> a[i]+1
)if(2
* i <= n &&
2* i >=0)
if(a[
2* i]
> a[i]+1
)}intmain()
一維座標的移動
在乙個長度為 n的座標軸上,蒜頭君想從 a 點 移動到 b 點。他的移動規則如下 向前一步,座標增加 1。向後一步,座標減少 1 跳躍一步,使得座標乘 2 蒜頭君不能移動到座標小於 0 或大於 n 的位置。蒜頭想知道從 a 點移動到 b 點的最少步數是多少,你能幫他計算出來麼?輸入格式 第一行輸入三...
一維座標的移動
在乙個長度為 n 的座標軸上,蒜頭君想從 a 點 移動到 b 點。他的移動規則如下 向前一步,座標增加 1。向後一步,座標減少 1。跳躍一步,使得座標乘 2。蒜頭君不能移動到座標小於 0 或大於 n 的位置。蒜頭想知道從 a 點移動到 b 點的最少步數是多少,你能幫他計算出來麼?第一行輸入三個整數 ...
計蒜客一維座標的移動
在乙個長度為 nn 的座標軸上,蒜頭君想從 aa 點 移動到 bb 點。他的移動規則如下 向前一步,座標增加 11。向後一步,座標減少 11。跳躍一步,使得座標乘 22。蒜頭君不能移動到座標小於 00 或大於 nn 的位置。蒜頭想知道從 aa 點移動到 bb 點的最少步數是多少,你能幫他計算出來麼?...