藍橋杯 C C BASIC 25 回形取數

2021-10-02 05:26:03 字數 1481 閱讀 1284

題目有歧義,通過測試發現,題目要求的**「已經取過」**是指位置上的數已取,而不是值已取。
問題描述

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

#include

using

namespace std;

vector<

int> t;

bool

func

(int q)

}return1;

}int

main()

}int fflag=

0,flag=1;

int x=-1

,y=0

;while

(fflag==0)

else}}

while

(flag==

2&&fflag==0)

else}}

while

(flag==

3&&fflag==0)

else}}

while

(flag==

4&&fflag==0)

else}}

}for

(int i=

0;isize()

;i++

)return0;

}

#include

#include

using

namespace std;

intmain()

i--; j++

;while

(j <= n-

1&& a[i]

[j]!=-1

) j--

; i--

;while

(i >=

0&& a[i]

[j]!=-1

) i++

; j--

;while

(j >=

0&& a[i]

[j]!=-1

) j++

; i++;}

return0;

}

藍橋杯 回形取數

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

藍橋杯 回形取數

基礎練習 回形取數 時間限制 1.0s 記憶體限制 512.0mb 問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出格...

藍橋杯 回形取數

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