a100: 奇怪的空間
標籤 :
通過比率 : 3人/5人 ( 60% ) [非即時]
評分方式:
Tolerant

最近更新 : 2019-07-02 22:52

內容

不知道大家有沒有下過將棋?將棋中有個規則要做"升變",當一隻棋子走到對方的末三排時就可以選擇升變,改變該棋子的走法。

今天有一隻步兵在升變的那一瞬間,突然被移動到一個奇怪的空間中,這是一個$n\times m\times h$(長*寬*高)的三維空間,

每一格皆可用正整數座標$(x,y,z)$來表示,且在每一格上都有一個正整數。除此之外,他還獲得了一項特殊能力:

可以在移動的同時隨意地穿越至編號為$1\sim d$的平行空間(一開始在編號1的平行空間中)。在被移動到這裡的同時,

他通靈出了離開這裡的方法,就是不斷的往"在他一步可及的位置中,且其數字比當前位置的數字大",符合條件最小的一個,

若沒有點符合條件則停止移動。而他一步能走到的位置如下所述:

1. 他能前往同一平面($z$座標不變),升變步兵所能走到的位置(如下圖)

2. 他能往上或下移動一層($z$座標$\pm1$而$x,y$座標不變)

3. 不得走出邊界,也就是位置$x,y,z$須符合$1\le x\le m$ , $1\le y\le n$ , $1\le z\le h$

4. 他能前往任意平行時空符合上述條件的位置(不得前往當前位置的其他平行時空)

如果他不斷的照著此規則移動,請問他最後會停在哪裡?

若步兵位於中間那格,他能前往的位置為那6格O所標示的位置

輸入說明

第一行有四個正整數$d,n,m,h$分別代表平行空間數與三維空間中的長,寬,高。

接下來將分別輸入$d$個三維空間,分別代表編號第$1\sim d$的平行空間。

每個平行空間會由$h$個$n\times m$的矩陣表示,分別代表高度$1\sim h$的平面。

(也就是一共會輸入$d\times h$個$n\times m$的正整數矩陣)

其中每個平面以左下角為座標$(x,y)=(1,1)$,且以右為$+x$方向,以上為$+y$方向。

最後一行有三個正整數$x,y,z$,代表步兵的起始位置。(他一開始在編號1的平行空間中)

$n,m,h,d\le20$ , $a\le 10^9$ , $1\le x\le m$ , $1\le y\le n$ , $1\le z\le h$ , 且所有$a$皆相異

輸出說明

輸出四個正整數$td,tx,ty,tz$分別代表步兵停止的平行空間與位置。

範例輸入
2 3 2 2
1 9
15 3
17 5
6 16
21 24
7 20
10 12
13 2
8 22
33 11
25 18
26 4
1 3 1
範例輸出
2 1 1 2
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (10%): 1.0s , <1M
公開 測資點#1 (10%): 1.0s , <10M
公開 測資點#2 (10%): 1.0s , <1M
公開 測資點#3 (10%): 1.0s , <1M
公開 測資點#4 (10%): 1.0s , <10M
公開 測資點#5 (10%): 1.0s , <1M
公開 測資點#6 (10%): 1.0s , <1M
公開 測資點#7 (10%): 1.0s , <10M
公開 測資點#8 (10%): 1.0s , <1M
公開 測資點#9 (10%): 1.0s , <10M
提示 :

範測中,步兵的位置依序為(以$(d,x,y,z)$表示):

$(1,1,3,1)\rightarrow(1,1,3,2)\rightarrow(2,1,3,1)\rightarrow(2,2,3,1)\rightarrow(1,2,3,2)\rightarrow(2,2,2,2)$

$\rightarrow(1,2,1,2)\rightarrow(1,1,2,2)\rightarrow(1,2,2,2)\rightarrow(2,1,2,2)\rightarrow(2,1,1,2)$

本題目的是讓各位熟悉高維陣列,請特別小心以下幾點:

1. 陣列的維度(如何輸入/每個維度分別的物理意義)

2. 陣列/題目要求分別是0-base還是1-base

3. 方向(下標與座標正向是同向還是反向)

標籤:
出處:
[管理者:
giver (垃圾)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」