あなたの仕事は、整数の高さのグリッドとして表される「山」を下りる最長の降下の長さを決定することです。「降下」とは、開始セルから、厳密に減少する高さ(つまり、対角線ではなく、同じ高さではない)の直交する隣接セルへのパスです。たとえば、5-4-3-1からは移動できますが、5-5-4-3-3-2-1からは移動できません。このパスの長さは、開始セルから終了セルまでのセルの移動回数です。したがって、5-4-3-1は長さ3です。
入力として長方形のグリッドを受け取り、最長降下を示す整数を出力する必要があります。
例
1 2 3 2 2
3 4 5 5 5
3 4 6 7 4
3 3 5 6 2
1 1 2 3 1
この山を下りる最長の下りの長さは5です。最長の経路は7から始まり、左、上、左、上、そして左に移動します(7-6-5-4-2-1)。このパスには5つの動きがあるため、パスの長さは5です。
彼らはすべて同じ数かもしれません。
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
この高さマップはフラットなので、最長降下は0です(19ではなく、パスシーケンスは厳密に降順でなければならないため)。
高さマップは、1桁の数字よりも大きな数字で構成できます。
10 12 13 14 15 15
17 14 15 15 15 16
18 20 21 15 15 15
21 14 10 11 11 15
15 15 15 15 15 15
ここで最も長いパスは長さ6です(21、20、18、17、14、12、10)。
...さらに大きな数値でも問題ありません。
949858 789874 57848 43758 387348
5848 454115 4548 448545 216464
188452 484126 484216 786654 145451
189465 474566 156665 132645 456651
985464 94849 151654 151648 484364
ここで最長の降下は長さ7です(786654、484216、484126、474566、156665、151654、151648、132645)
ルールとメモ
- グリッドは、任意の便利な形式で取得できます。回答でフォーマットを指定してください。
- 高さマップは完全に長方形で、空ではなく、符号付き32ビット整数の範囲の正の整数のみが含まれていると想定できます。
- 最長降下経路は、グリッドのどこからでも開始および終了できます。
- 最長降下経路を記述する必要はありません。その長さのみが必要です。
- 最短コードの勝利