AcWing 756 蛇形矩陣

2021-10-16 10:20:37 字數 1757 閱讀 8730

題解輸入兩個整數nm,輸出乙個nm列的矩陣,將數字1n*m按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。

輸入共一行,包含兩個整數n和m。

輸出滿足要求的矩陣。

矩陣佔n行,每行包含m個空格隔開的整數。

1 ≤ n, m ≤ 100

3 3

1 2 3

8 9 4

7 6 5

本題主要是考察了陣列,我們可以使用兩種方法解決本題目。第一種方法是使用while迴圈,第二種方法是使用for迴圈

首先設定初始座標為(0, 0),然後將結果二維陣列q[n][n]的第乙個元素設定為1,計數器cnt的初始值為1。使用while迴圈來進行填數,只要cnt < n * m就進行填數。使用四條while迴圈來依次填4個方向的數字,先判斷下乙個要填的位置是否出界,如果沒有出界在判斷該位置的數字是否已經填過數字了,如果沒有填過則將++cnt賦值給下乙個陣列元素。直到填完整個陣列。

#include

#include

using

namespace std;

const

int n =

110;

int q[n]

[n];

intmain()

for(

int i =

0; i < n; i++

) cout << endl;

}return0;

}

一直向乙個方向填數,如果下乙個位置出界或者已經被填過數了,那麼就改變方向繼續進行填數。

#include

using

namespace std;

const

int n =

110;

int m, n;

int q[n]

[n];

bool

inmap

(int x,

int y)

intmain()

, dy=

;int x =

0, y =

0, d =1;

for(

int i =

1; i <= n * m; i++

) x = x1, y = y1;

}for

(int i =

0; i < n; i++

) cout << endl;

}return0;

}

未完待續,持續更新中……

AcWing 756 蛇形矩陣

輸入兩個整數n和m,輸出乙個n行m列的矩陣,將數字 1 到 n m 按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。輸入格式 輸入共一行,包含兩個整數n和m。輸出格式 輸出滿足要求的矩陣。矩陣佔n行,每行包含m個空格隔開的整數。資料範圍 1 n,m 100 輸入樣例 3 3輸出樣例 123 894...

ACwing 756蛇形矩陣

題目描述 輸入兩個整數n和m,輸出乙個n行m列的矩陣,將數字 1 到 n m 按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。輸入格式 輸入共一行,包含兩個整數n和m。輸出格式 輸出滿足要求的矩陣。矩陣佔n行,每行包含m個空格隔開的整數。資料範圍 1 n,m 1001 n,m 100 輸入樣例 3...

AcWing 756 蛇形矩陣

題目描述 輸入兩個整數n和m,輸出乙個n行m列的矩陣,將數字 1 到 n m 按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。輸入格式 輸入共一行,包含兩個整數n和m。輸出格式 輸出滿足要求的矩陣。矩陣佔n行,每行包含m個空格隔開的整數。資料範圍 1 n,m 100 輸入樣例3 3輸出樣例1 2 ...