前往
大廳
主題

ZeroJudge - e698: OREOREO! 解題心得

Not In My Back Yard | 2021-07-17 00:00:04 | 巴幣 0 | 人氣 317

題目連結:


題目大意:
有一種餅乾分成兩個部分:一個是「O」、一個是「RE」。

輸入有多筆測試資料。每筆第一列輸入兩個整數代表「O」這個部分的寬和高、第二列輸入兩個整數代表「RE」這個的寬和高(1 ≦ 兩個部分的寬和高 ≦ 100,其中兩部分的寬之奇偶性相同)、第三列則是給定兩種字元,代表「O」和「RE」這兩個部分的「成分」。

第四列給定一正整數 n(1 ≦ n ≦ 100),代表有 n 塊餅乾要輸出(1 ≦ 「O」 + 「RE」之數量 ≦ 100)。接著有 n 列輸入,每列給定由「O」和「RE」組成的字串,請根據成分輸出各個部分。其中寬較短的部分需要置中,但是注意每列輸出結尾不能有多餘的空白。輸出格式參見範例輸出。

每輸出一塊餅乾後請多輸出一個空白列。



範例輸入:
範例輸入 #1
5 3
3 4
- o
3
OREO
REORERE
OOORE
5 4
9 2
: .
2
OREREREO
REOOOREO

範例輸入 #2
6 2
4 3
H I
5
OO
REO
ORERE
REORE
OOOREO


範例輸出:
範例輸出 #1
-----
-----
-----
ooo
ooo
ooo
ooo
-----
-----
-----

ooo
ooo
ooo
ooo
-----
-----
-----
ooo
ooo
ooo
ooo
ooo
ooo
ooo
ooo

-----
-----
-----
-----
-----
-----
-----
-----
-----
ooo
ooo
ooo
ooo

  :::::
  :::::
  :::::
  :::::
.........
.........
.........
.........
.........
.........
  :::::
  :::::
  :::::
  :::::

.........
.........
  :::::
  :::::
  :::::
  :::::
  :::::
  :::::
  :::::
  :::::
  :::::
  :::::
  :::::
  :::::
.........
.........
  :::::
  :::::
  :::::
  :::::

範例輸出 #2
HHHHHH
HHHHHH
HHHHHH
HHHHHH

IIII
IIII
IIII
HHHHHH
HHHHHH

HHHHHH
HHHHHH
IIII
IIII
IIII
IIII
IIII
IIII

IIII
IIII
IIII
HHHHHH
HHHHHH
IIII
IIII
IIII

HHHHHH
HHHHHH
HHHHHH
HHHHHH
HHHHHH
HHHHHH
IIII
IIII
IIII
HHHHHH
HHHHHH



解題思維:
可以先預先將「O」、「RE」這兩個部分的字串建立出來。用雙層迴圈(外層是高、內層是寬)去跑,然後要記得判斷本部分的寬是否有沒有比另一個部分的寬短。

然後掃過每塊餅乾,看到「O」就輸出該部分之字串、看到「RE」就輸出其對應的字串。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作