c292. APCS2017-0304-3數字龍捲風
標籤 : APCS
通過比率 : 3014人/3148人 ( 96% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-07-22 20:50

內容

給定一個 N*N 的二維陣列,其中N是奇數,我們可以從正中間的位置開始順時 針旋轉的方式走訪每個陣列元素恰好一次。對於給定的陣列內容與起始方向,請輸出走訪順序之內容。下面的例子顯示了N=5且第一步往左的走訪順序:

 

3

 →

4

 →

2

 →

1

 →

4

 ↑

 

 

 

 

 

 

 

 ↓

4

 

2

3

8

 

9

 ↑

 

 

 

 

 ↓

 

 ↓

2

 

1

9

 

5

 

6

 ↑

 

 

 

 

 

 ↓

 

 ↓

4

 ←

2

 ←

3

 ←

7

 

8

 

 

 

 

 

 

 

 

 ↓

1

 ←

2

 ←

6

 ←

4

 ←

3

 依此順序輸出陣列內容則可以得到 「9123857324243421496834621」。

類似地,如果是第一步向上則走訪順序下:

3

 

4

2

1

4

 

 

 

 

 

 

4

 

2

 

3

8

 

9

 

 

 

 

2

 

1

 

9

 

5

 

6

 

 

 

 

 

4

 

2

3

7

 

8

 

 

 

 

 

 

 

1

2

6

4

3

 

依此順序輸出陣列內容則可以得到 「9385732124214968346214243」。

原題pdf檔(在第4-5頁)

輸入說明

輸入 第一行 是整數 N,N為奇數且不小於 3。第二行是一個 0~3 的整數 代表起始方向, 其中 0代表左 、1代表上 、2代表右 、3代表下 。第三行開始 N行是陣列內容,順序是由上而下,左至右陣列的內容為 是由上而下,左至右陣列的內容為 是由上而下,由左至右,陣列的內容為 0~9 的整數, 同一行數字中間以一個空白間隔 。

輸出說明

請輸出走訪順序的陣列內容,該答案會是一連串的陣列內容,數字之間不要輸出空白,結尾有換行符號 。

範例輸入 #1
5
0
3 4 2 1 4
4 2 3 8 9
2 1 9 5 6
4 2 3 7 8
1 2 6 4 3
範例輸出 #1
9123857324243421496834621
範例輸入 #2
3
1
4 1 2
3 0 5
6 7 8
範例輸出 #2
012587634
測資資訊:
記憶體限制: 256 MB
提示 :

評分說明

輸入包含若干筆測試資料,每一的執行時間限制 (time limit)均為1秒,依正確通過測資筆數給分。其中:

第 1子題組 20分, 3 ≤ N ≤ 5,且起始方向均為左 。

第 2子題組 80分, 3 ≤ N ≤ 49 ,起始方向無限定 。

提示:本題有多種處理方式,其中之一是觀察每次轉向與走的步數。例如起始方向是向左時,前幾步的走法是:左1、上 1、右 2、下 2、左 3、上 3、…… 一直到出界為止。

測資非官方的,是我自己產生的,若有誤請不吝告知

標籤:
APCS
出處:
2017年3月APCS [管理者: p3a_owhj (阿普二信) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
37578 edoctopus322 ... (Moon Jam) c292
928 2023-09-17 21:18
20871 fire5386 (becaidorz) c292
解題想法分享
2170 2020-03-14 22:35
37263 zhoudaniel02 ... (周孝倫) c292
大大大堤式
701 2023-08-29 00:07
37053 jerry960216@ ... (丁宥竣(丁哥)) c292
最簡單的c++解法
842 2023-08-20 09:48
37052 jerry960216@ ... (丁宥竣(丁哥)) c292
最簡單的c++解法
415 2023-08-20 09:45