一維座標的移動

2021-07-29 17:11:44 字數 846 閱讀 8787

在乙個長度為 n的座標軸上,蒜頭君想從 a 點 移動到 b 點。他的移動規則如下:

向前一步,座標增加 1。

向後一步,座標減少 1

跳躍一步,使得座標乘 2

蒜頭君不能移動到座標小於 0 或大於 n 的位置。蒜頭想知道從 a 點移動到 b 點的最少步數是多少,你能幫他計算出來麼?

輸入格式

第一行輸入三個整數 n,a,b,分別代表座標軸長度,起始點座標,終點座標。(0≤a,b≤n≤5000)

輸出格式

輸出乙個整數佔一行,代表蒜頭要走的最少步數。

樣例輸入

10 2 7

樣例輸出

這題還是比較簡單的,用廣度優先搜尋就可以了

#include 

#include "queue"

using

namespace

std;

long vis[5001]=;

long tx,ty;

long min=0;

long

long n,a,b;

struct point

};int bfs(int sx);

while (!q.empty()) else

if (tx<0 ||tx>n)continue;

if (p.x==b)

if (vis[tx]==0) }}

return -1;

}int main()

}

一維座標的移動

在乙個長度為 n 的座標軸上,蒜頭君想從 a 點 移動到 b 點。他的移動規則如下 向前一步,座標增加 1。向後一步,座標減少 1。跳躍一步,使得座標乘 2。蒜頭君不能移動到座標小於 0 或大於 n 的位置。蒜頭想知道從 a 點移動到 b 點的最少步數是多少,你能幫他計算出來麼?第一行輸入三個整數 ...

一維座標的移動

在乙個長度為 nn 的座標軸上,蒜頭君想從 aa 點 移動到 bb 點。他的移動規則如下 向前一步,座標增加 1。向後一步,座標減少 1。跳躍一步,使得座標乘 2。蒜頭君不能移動到座標小於 0 或大於 n 的位置。蒜頭想知道從 aa 點移動到 bb 點的最少步數是多少,你能幫他計算出來麼?輸入格式 ...

計蒜客一維座標的移動

在乙個長度為 nn 的座標軸上,蒜頭君想從 aa 點 移動到 bb 點。他的移動規則如下 向前一步,座標增加 11。向後一步,座標減少 11。跳躍一步,使得座標乘 22。蒜頭君不能移動到座標小於 00 或大於 nn 的位置。蒜頭想知道從 aa 點移動到 bb 點的最少步數是多少,你能幫他計算出來麼?...