11 回形取數

2021-08-17 04:39:19 字數 1005 閱讀 3952

基礎練習 回形取數  

時間限制:1.0s   記憶體限制:512.0mb

錦囊1迴圈,標記。

錦囊2使用多次迴圈來處理,也可以對取過的數標記來簡化迴圈的判斷。

問題描述

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

輸入格式

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

輸出格式

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

樣例輸入

3 31 2 3

4 5 6

7 8 9

樣例輸出

1 4 7 8 9 6 3 2 5

樣例輸入

3 21 2

3 45 6

樣例輸出

1 3 5 6 4 2

此處我利用遞迴的方法去做。遞迴的限制條件(跳出條件)有三個:

①:當元素取完是結束遞迴

②:當只有或只剩一行時,直接按照順序輸出陣列的元素

③:當只有或只剩一列時,直接按照順序輸出陣列的元素

**展示:

#include#includeusing namespace std;

int qu(int a[200] , int h , int l)

//條件3

if(l == 1&&h > 0)

for(int i = 0;i < h;i++ )

printf("%d ",a[i][0]);

//向右旋轉90度

for(int i = 1;i < l;i++)

for(int j = 0;j < h;j++)

qu(b , l-1 , h);

}int main()

}qu(arr , m ,n);

return 0;

}

十四 回形取數

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

1991 回形取數

時間限制 1 sec 記憶體限制 512 mb 提交 97 解決 32 提交 狀態 討論版 命題人 外部匯入 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。1 2 3 4 5 6輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。...

模擬 回形取數

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