螺旋矩陣 蛇形矩陣

2021-09-09 00:22:25 字數 988 閱讀 7464

問題描述

給定乙個包含m行n列的m x n矩陣,程式設計按照螺旋順序,輸出該矩陣中的所有元素。

輸入有多個矩陣。

每個矩陣資料的第1行有兩個整數m和n,接著是乙個mxn矩陣的描述,有m行,每行有n個整數

輸出對每個矩陣資料,按照螺旋順序輸出矩陣陣列的元素。

輸入樣例

3 31 2 3

4 5 6

7 8 9

輸出樣例

1 2 3 6 9 8 7 4 5

思路:按照題意模擬即可,見**,時間複雜度o(mn),每個點訪問一次

#include

using namespace std;

const

int maxn =

500;

int a[maxn]

[maxn]

; bool vis[maxn]

[maxn]

;//標記陣列

intmain()

}int x =

0, y =0;

printf

("%d"

,a[x]

[y])

;//第乙個點特殊處理

vis[x]

[y]=1;

int sum = m * n, tot =1;

//總點數和當前已經輸出的點數

while

(tot < sum)

while

(x +

1< m &&

!vis[x+1]

[y])

while

(y -

1>=0&&

!vis[x]

[y-1])

while

(x -

1>=0&&

!vis[x-1]

[y])

}putchar

('\n');

}return0;

}

螺旋矩陣和蛇形矩陣

include include using namespace std define pi 3.14 class a define n 6 int s n n int matrix 8 define maxsize 100 int a maxsize maxsize void creat sz in...

蛇形矩陣 和螺旋矩陣

1.蛇形方陣 1 2 3 6 5 4 7 8 9 外層控制層數,內層根據列數控制方向 0 則往右走 n 1則往左走 include include include define size 100 int a size size int main int argc,const char argv el...

蛇形矩陣與螺旋矩陣

自己寫的蛇形矩陣 蛇形矩陣就是在nxn矩陣格仔上從左上到右下以 之 字型增加或減少,像蛇盤繞著的形狀。本程式從左上開始盤旋一直到右下達到最大值 include using namespace std define n 10 輸入要更改的矩陣大小 void main k 1,j 0,i 0,s1 4 ...