2015 藍橋杯 T8 移動距離

2021-10-18 18:50:21 字數 909 閱讀 4361

題目說明

移動距離

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 兩樓間最短移動距離。

例如:使用者輸入:

6 8 2

則,程式應該輸出:

4再例如:

使用者輸入:

4 7 20

則,程式應該輸出:

5資源約定:

峰值記憶體消耗 < 256m

cpu消耗 < 1000ms

思路分析

找到 m(x,y) , n(x,y),發現規律進行計算

以n為例子

計算 y:if(n%w0)則y=n/w;,否則y=n/w+1;

計算x:if(y%20)則x=yw-n+1;否則x=w-(yw-n);

實際操作

#include

#include

intmain()

else

if(m%w==0)

else

if(ny%2==

0)else

if(my%2==

0)else

printf

("%d"

,abs

(nx-mx)

+abs

(ny-my));

}

//不要想太複雜,多畫圖,找規律!!!撒比的我居然在想用bfs寫~//

:)

藍橋杯 2015初賽 移動距離

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

藍橋杯2015初賽 移動距離

時間限制 1 sec 記憶體限制 256 mb 提交 1211 解決 522 狀態 提交 命題人 外部匯入 題目描述 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 我們的問題是 已知了兩個樓號m和n,需要求出它們之間的最短移動距離 不能斜線方向移動 輸入輸入存在多組測試資料...

藍橋杯 2015 B組 C C 8 移動距離

移動距離 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 兩樓...