資源限制
時間限制:1.0s 記憶體限制:512.0mb
問題描述
回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉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 23 4
5 6樣例輸出
1 3 5 6 4 2
思路首先要搞清楚方向下 右 上 左移動的時候要判讀狀態是否需要移動
**方案一:
判斷下乙個狀態是否需要移動,需要注意索引不能越界
方案二#include
#include
#define n 205
using
namespace std;
intmain()
while
(j1&&res[i]
[j+1]!=
0)while
(i>-1
&&res[i-1]
[j]!=
0&&i-
1>=0)
while
(j>-1
&&res[i]
[j-1]!=
0&&j-
1>=0)
}return0;
}
判斷當前的位置的狀態,進而判斷是否需要移動,還是下右上左,需要注意是否會多走
#include
#include
#define n 205
using
namespace std;
// 下 右 上 左
intmain()
i--; j++
;//移動到最下方的時候,i會多移動一下,所以--,除以以外還要手動控制j++,使得向右移動
while
(j[j]==0)
i--; j--
;while
(i>-1
&&!res[i]
[j])
i++; j--
;while
(j>-1
&&!res[i]
[j])
i++; j++
;// cout<}
return0;
}
藍橋杯 基礎練習 回形取數
問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出格式 輸出只有一行,共mn個數,為輸入矩陣回形取數得到的結果。數之間用...
藍橋杯 基礎練習 回形取數
時間限制 1sec 記憶體限制 128mb 題目描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出 輸出只有一行,共mn個數,為...
藍橋杯 基礎練習 回形取數
問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出格式 輸出只有一行,共mn個數,為輸入矩陣回形取數得到的結果。數之間用...