#31332: C語言解題


krameri120 (科科)

學校 : 國立臺南高級工業職業學校
編號 : 102318
來源 : [36.237.212.239]
最後登入時間 :
2024-04-01 14:20:14
e462. 閃電矩陣 | From: [106.64.137.183] | 發表日期 : 2022-07-24 19:46

code:https://github.com/kerong2002/kerong_zerojudge/blob/main/e462%20%E9%96%83%E9%9B%BB%E7%9F%A9%E9%99%A3.c
我的想法是因為矩陣想法是(x,y)
(0,0)(1,0)(2,0)
(0,1)(1,1)(2,1)
(0,2)(1,2)(2,2) 
那你把x+y加起來你會得到
0 1 2
1 2 3
2 3 4 的矩陣
那很簡單了,你只要掃瞄雙層迴圈5次
for(int y=0;y<n;y++){
                for(int x=0;x<n;x++){
所以是2*n-1
那你要兩個變數,一個是run從0開始(x+y的和),一個計數cnt=1
那當run%2==0 你要做的事是list[x][y]=cnt++;(x+y和是偶數,往右上)
而run%2==1 你要做的事是list[y][x]=cnt++;(x+y和是奇數,往左下)

 
ZeroJudge Forum