模擬 回形取數

2021-10-02 13:54:06 字數 1028 閱讀 5026

描述

回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉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

反思:te的原因是條件設定錯誤,檢查的不夠仔細。

分析:1、模擬,按照下右上左的順序不斷輸出。

2、注意行末不能有多餘空格。

**:

#include

using

namespace std;

intmain()

;for

(int i=

0;i)for

(int j=

0;j)scanf

("%d"

,&a[i]

[j])

;int x=

0,y=0;

int num=m*n-1;

printf

("%d"

,a[x]

[y])

; a[x]

[y]=-1

;while

(num)

x--;while

(a[x]

[++y]!=-

1&&yy--

;while

(a[--x]

[y]!=-1

&&x>=0)

x++;while

(a[x]

[--y]!=-

1&&y>=0)

y++;}

return0;

}

十四 回形取數

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

1991 回形取數

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

11 回形取數

基礎練習 回形取數 時間限制 1.0s 記憶體限制 512.0mb 錦囊1迴圈,標記。錦囊2使用多次迴圈來處理,也可以對取過的數標記來簡化迴圈的判斷。問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過2...