第六屆藍橋杯 移動距離

2021-10-05 09:26:41 字數 1037 閱讀 9785

問題描述

x 星球居民小區的樓房全是一樣的,並且按矩陣樣式排列。

其樓房的編號為 1, 2, 3…,當排滿一行時,從下一行相鄰的樓往反方向排號。

比如:當小區排號寬度為 6 時,開始情形如下:

123

45612

111098

7131415..

...

我們的問題是:已知了兩個樓號 m 和 n,需要求出它們之間的最短移動距離(不能斜線方向移動)。

輸入格式

輸入共一行,包含三個整數 w, m, n;(w 為排號寬度,m, n 為待計算的樓號)

輸出格式

輸出乙個整數,表示 m, n 兩樓間最短移動距離。

輸入樣例

6 8 2

輸出樣例4

資料範圍

1 ≤w

,m,n

≤10000

1 ≤ w, m, n ≤ 10000

1≤w,m,

n≤10

000題解一

模擬:

#include

#include

#include

using

namespace std;

intmain()

cout <<

abs(x1 - x2)

+abs

(y1 - y2)

<< endl;

return0;

}

題解二

找規律:

#include

using

namespace std;

intmain()

藍橋杯c/c++組省賽歷年題

第六屆藍橋杯 移動距離

移動距離 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 我們的問題是 已知了兩個樓號m和n,需要求出它們之間的最短移動距離 不能斜線方向移動 輸入為3個整數w m n,空格分開,都在1到10000範圍內 w為排號寬度,m,n為待計算的樓號。要求輸出乙個整數,表示m n 兩樓...

移動距離 第六屆藍橋杯

移動距離 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 我們的問題是 已知了兩個樓號m和n,需要求出它們之間的最短移動距離 不能斜線方向移動 輸入為3個整數w m n,空格分開,都在1到10000範圍內 w為排號寬度,m,n為待計算的樓號。要求輸出乙個整數,表示m n 兩樓...

第六屆 8 移動距離

x星球居民小區的樓房全是一樣的,並且按矩陣樣式排列。其樓房的編號為1,2,3.當排滿一行時,從下一行相鄰的樓往反方向排號。比如 當小區排號寬度為6時,開始情形如下 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 我們的問題是 已知了兩個樓號m和n,需要求出它們之間的最短移動距...