切換
舊版
前往
大廳
主題

ZeroJudge - c833: 第四題:二維陣列 解題心得

Not In My Back Yard | 2018-11-13 16:25:18 | 巴幣 0 | 人氣 258

題目連結:


題目大意:
給定兩正整數 R、C (皆 ≦ 3, 000),代表接下來有 R 列,每列有 C 個字元。字元只會出現「#」、「.」兩種。

把有出現「#」的行、列的字元全部換成「#」,剩下的「.」則換成「X」。處理完後輸出。



範例輸入:
範例輸入一:
2 2
#.
..

範例輸入二:
3 2
##
..
#.

範例輸入三:
1 4
..#.



範例輸出:
範例輸出一:
##
#X

範例輸出二:
##
##
##

範例輸出三:
####



解題思維:
使用兩個布林陣列分別儲存每一行、每一列「#」的有無。

當在輸入那 R x C 個字元時,即可利用迴圈處理。即:在讀取第 R 列、 C 行的字元時,把在負責「行」的陣列之 C 位置設為 True ,另一個的第 R 位也設為 True 。

最後輸出時,判斷第 R 列或第 C 行是否為 True 。是的話,就輸出「#」;反之,輸出「X」。




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

創作回應

更多創作