#P213. 守護城市(二維空間問題)
守護城市(二維空間問題)
題目描述
有一座可以視為二維的方格平面的長方形城市,由上而下共有N列,由左至右共有M行, 總共劃分為N*M個方格。這個城市因為治安很差,所以每個格子中都有機會出現野生的木棍可以撿拾以方便鬥毆。你為了守護城市所以想要撿走一些木棍,但你知道城市的其中一些方格設有警察局,如果警察局內的警察在這個方格或與其同一行或同一列的任何方格偵測到有人在撿拾甩棍,都會毫不留情地把撿拾的人預防性羈押,所以你為了自身安全,你不能去那些方格撿拾木棍。你想要知道在上述條件下,你還可以去那些方格撿拾木棍。
輸入格式
第一列依序輸入正整數N和M,數值之間以空格分隔,表示這座城市由上而下共有N列,由左至右共有M行, 總共劃分為N*M個方格。
接著共要輸入有N列,每列為一個長度恰為M的字串,每個字元則可能為「.」(ASCII 編碼 46) 或「#」(ASCII 編碼 35)。若其中第i列的第j個字元為「#」,表示此格設有警察局,你不能收拾第i列和第j行的木棍。除此之外,其他地方的木棍都可以收拾。
輸出格式
請輸出N列,每列為長度恰為M的字串,對於第i列的第j個字元,若城市中第i列第j行的方格有機會可以撿到木棍,則請輸出「O」,否則請輸出「X」。
Samples
["5 10\r\n...#..###.\r\n#..###....\r\n..........\r\n#.........\r\n......#...","2 2\r\n#.\r\n..","3 2\r\n##\r\n..\r\n#.","1 4\r\n..#."]
["XXXXXXXXXX\r\nXXXXXXXXXX\r\nXOOXXXXXXO\r\nXXXXXXXXXX\r\nXXXXXXXXXX","XX\r\nXO","XX\r\nXX\r\nXX","XXXX"]
原始資料
- Zero1 題號:
a213 - Hydro 題號:
Z0213 - Locale:
zh_TW - Display:
open