b759: 我明明就有說過= =
內容
烏龜又忘記交代給他的工作了。
「我真的記得你沒說過,真的」他辯解道
「喔是喔」瓜瓜說道
「真的啦」他繼續辯解道
雖然解決事情遠遠比辯解來的重要,
但我們還是請了學弟在 N 條字串的對話紀錄中尋找是否出現過交代工作的字串 X (1<=N<=10^5 , 字串總長度<=10^6)
想當然爾,學弟花了 7 分 40 秒就用二分搜和 SET 解決我們的問題了,
沒錯,我們找到了交代工作的字串 X (X 長度<=1000)
「這是在交代工作噢?! 我還以為你只是在打招呼!」
「如果是在交代工作,就應該把問題放前面,要做的是放後面,然後這樣擺..這樣挪..這樣我才看得懂啊!」
為了配合烏龜,我們決定把字串 X 以每個字元當作句首印出來一次,以跨越我們和他之間的代溝(GENERATION GAP)
輸入
輸入只有一行,輸入一字串 X,題目保證字串 X 中只會有大小寫的英文字母
xndrf
輸出
輸出有 N 行
輸出的第 i 行要從 X 字串的第 i 個字元開始輸出到印完整個 X 字串
xndrf
ndrfx
drfxn
rfxnd
fxndr
解題思路
開一個兩倍於限定大小的陣列,用一個指標指向開頭處。
迴圈執行輸入字串的長度次,每次執行迴圈輸出指標字串、將指標指向下一元素,然後將剛才輸出的第一個字元放到字串的末端後進入下一輪,迴圈結束即印出所有答案。
完整程式碼
AC (3ms, 84KB)
|