切換
舊版
前往
大廳
主題

ZeroJudge - c468: 4th CPSC Problem 4-上色新也 解題心得

Not In My Back Yard | 2018-09-21 22:52:52 | 巴幣 0 | 人氣 86

題目連結:


題目大意:
模擬PTT的色碼表以及輸入,並依照固定格式輸出一些文字。

這題直接看原題目敘述比較清楚、容易理解,額外的闡釋沒有意義。


解題思維:
用迴圈跑輸入進來的字串。

首先,宣告一個存文字內容的字串S。

另外,宣告一個buffer字串,用來暫時儲存字串中非色碼的字元(就是 「[」、「*」、「m」、「;」和「m 、 ;」前面的顏色代碼,以外的字元)。

然後一遇到「*」或「;」就開始存數字,一遇到「m」或另一個「;」就把現有的顏色、背景設定改成指定的樣式(根據題目給的數字表)。

然後一遇到「[」,就把buffer的內容存入S裡,並將現有的設定套用到剛剛多新增的字串(實際上是存在另外4個陣列裡)。並將buffer變為空字串,以便存接下來的內容。

然後,迴圈跑完後,檢查buffer是否為空。如果是,一樣要存進去,並套用現有顏色設定。

最後,按照格式輸出即可。



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

創作回應

更多創作