b367: 翻轉世界
這篇教學會示範 ZeroJudge 基礎題庫「b367: 翻轉世界」的解題過程。
題目需求
題目會提供一個二維串列資料,將這個資料翻轉 180 度之後,如果跟原本的資料相同,印出「go forward」,否則印出「keep defending 」。
題目連結:b367: 翻轉世界
解答
這題可以使用 append 和 insert 的方法操作串列資料,原始串列可用 append 由前往右加入資料,比對的串列可用 insert 由後往前加入「反轉」的資料,最後直接用比較運算子判斷就可以得到結果。
t = int(input()) # 有幾筆測試資料
for p in range(t):
n, m = map(int, input().split()) # 串列的大小
a, b = [], [] # 定義 a 和 b 兩個空矩陣
for q in range(n):
arr = [int(i) for i in input().split()] # 將每筆輸入的數字拆成串列
a.append(arr) # 將資料填入 a # 由前而後填入串列
b.insert(0,arr[::-1]) # 將資料填入 b # 由後而前填入反轉的串列
if b == a:
print('go forward') # 如果 b 等於 a,輸出 go forward
else:
print('keep defending')
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~