2020年9月19日 星期六

c292: APCS2017-0304-3數字龍捲風

 題目來源:APCS2017-0304

檢測平台:https://zerojudge.tw/ShowProblem?problemid=c292


首先先定義四個方向的X、Y偏移量:

EX.

a = [[0 , -1] , [-1 , 0] , [0 , 1] , [1 , 0]]
這題乍看可能不好著手,這時需要做的就是好好檢視測試數據,
仔細觀察測資,你會發現基本上每個方向移動的步數為1,1,2,2,3,3......

好囉,程式碼如下:
如果有問題歡迎留言或私訊討論囉。
a = [[0 , -1] , [-1 , 0] , [0 , 1] , [1 , 0]]

n = int(input())
d = int(input())
t = []
for i in range(n):
  t.append([int(i) for i in input().split()])

x = y = int(len(t) / 2)
s = str(t[x][y])

end = 0
for i in range(1,len(t)+1):
  if end == 1: break
  for k in range(0 , 2):
    if end == 1:break
    for j in range(i):
      x += a[d][0]
      y += a[d][1]
      if x < 0 or y < 0 or x == len(t) or y == len(t):
        end = 1
        break;
      s += str(t[x][y])
    d += 1
    d %= 4
print(s)

沒有留言:

張貼留言

o079. 4. 最佳選擇

 題目描述: 給一個長度為 n 的正整數序列 a1,a2...an ,你可以執行多次操作 (包含 0 次),每次操作只能選擇這個序列的第一個或最後一個數字,再將這個數字從序列中刪除並自己搜集起來。 求滿足總和不超過 k 且搜集的數字奇數和偶數個數相同的條件下,所能搜集的數字總和最...