藍橋杯 演算法提高 最長滑雪道 (遞迴)(C )

2021-10-08 15:57:12 字數 953 閱讀 3315

樣例輸入

5 51 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

樣例輸出

25

思路:從題目中「乙個人可以從某個點滑向上下左右相鄰四個點之一,當且僅當高度減小」這句話切入。可以知道,每次在某乙個點都需要比較其上下左右四個點與其本身的大小,且本題資料規模不是很大,因此考慮遞迴實現。

首先定義上下左右方向,如果走到某個點,對其上下左右點進行搜尋,如果這些點未超出陣列邊界且比某個點值小,則可以向這個新的點走,此時路徑長度加1,並在這個新的點進行遞迴。

#include

using

namespace std;

#define maxsize 100

int a[maxsize]

[maxsize]

;const

int dx[4]

=;//定義上下方向

const

int dy[4]

=;//定義左右方向

藍橋杯 試題 演算法提高 最長滑雪道

5 5 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 該題目比較簡單,只需要按照題意進行模擬,計算每一點出發可以走的最長路線,並進行比較保留最長路線值。需要注意的是,不一定從最大值出發的路線會是最長路線,可能會存在...

藍橋杯 最長滑雪道 遞迴解法

食 雪 漢5 5 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 樣例輸出 思路是這樣的 param x 當前位置的 x 座標 param y 當前位置的 y 座標 return 從 x,y 出發,可以滑行的最長長度...

藍橋杯 演算法提高 遞迴 C語言

試題 演算法提高 遞迴 資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 當x 1時,hermite多項式的定義見第二版教材125頁。使用者輸入x和n,試編寫 遞迴 函式,輸出對應的hermite多項式的值。其中x為float型,n為int型。輸入格式 x n輸出格式 對應多項式的...