問題描述
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,需要求出它們之間的最短移動距...