Python 解答
# 讀取輸入的三個整數,分別代表單字長度、變換次數、欲輸出的單字長度
wordLength, changeTime, resultWord = map(int, input().split(" "))
# 讀取欲變換的單字
word = list(input())
# 儲存每次變換後的單字,初始值為空串列
book = []
# 進行變換
for _ in range(changeTime):
# 讀取每次變換的指令,並將指令中的每個數字減 1,因為程式是以 0 為起點
Rule = list(map(int, input().split()))
for i in range(wordLength):
Rule[i] = Rule[i] - 1
# 建立一個暫時的單字串列,長度和原單字相同,每個位置先填上空字元
tempWord = [""]*wordLength
# 將原單字依照指令進行重新排列
for j in range(wordLength):
tempWord[Rule[j]] = word[j]
# 將新單字加入書中,並更新原單字
book.append(tempWord)
word = tempWord
# 印出書中指定位置的單字
for k in range(resultWord):
w = ""
for x in range(changeTime):
w += book[x][k]
print(w)