藍橋杯 基礎練習VIP 回形取數

2022-05-06 02:36:06 字數 1199 閱讀 9867

時間限制: 1sec 記憶體限制: 128mb 提交: 128 解決: 34

題目描述

回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。

輸入輸入第一行是兩個不超過200的正整數m,  n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。

輸出輸出只有一行,共mn個數,為輸入矩陣回形取數得到的結果。數之間用乙個空格分隔,行末不要有多餘的空格。

樣例輸入

3  3 

1 2 3

4 5 6

7 8 9

樣例輸出

1 4 7 8 9 6 3 2 5

有兩種寫法,但是第一種不知道為啥出錯了,真是讓人感到難過,第乙個是是利用下標,第二種是使用-1標記訪問過的位置。

#include#include

#include

using

namespace

std;

intm,n,cnt;

int a[201][201

];int b[201*201

];int main(void

) i--; l++; j++;

while(j<=r)

j--; y--; i--;

while(i>=x)

i++; r--; j--;

while(j>=l)

j++; x++; i++;

}for(int i=0;i)

return0;

}

#includeusing

namespace

std;

const

int maxn = 210

;int a[maxn][maxn],b[maxn*maxn];

int main(void

)

while(j+1

<=n && a[i][j+1]!=-1

)

while(i-1>=1 && a[i-1][j]!=-1

)

while(j-1>=1 && a[i][j-1]!=-1

)

}for(int i=1;i<=t;i++)

}

藍橋杯 基礎練習 回形取數

問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出格式 輸出只有一行,共mn個數,為輸入矩陣回形取數得到的結果。數之間用...

藍橋杯 基礎練習 回形取數

時間限制 1sec 記憶體限制 128mb 題目描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出 輸出只有一行,共mn個數,為...

藍橋杯 基礎練習 回形取數

問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出格式 輸出只有一行,共mn個數,為輸入矩陣回形取數得到的結果。數之間用...