題目有歧義,通過測試發現,題目要求的**「已經取過」**是指位置上的數已取,而不是值已取。
問題描述
回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉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個數,為輸入矩陣回形取數得到的結果。數之間用...