藍橋杯 演算法訓練 擺動序列

2021-07-26 12:16:31 字數 892 閱讀 3085

演算法訓練 擺動序列

時間限制:1.0s 記憶體限制:512.0mb

提交此題 錦囊1 錦囊2

問題描述

如果乙個序列滿足下面的性質,我們就將它稱為擺動序列:

1. 序列中的所有數都是不大於k的正整數;

2. 序列中至少有兩個數。

3. 序列中的數兩兩不相等;

4. 如果第i – 1個數比第i – 2個數大,則第i個數比第i – 2個數小;如果第i – 1個數比第i – 2個數小,則第i個數比第i – 2個數大。

比如,當k = 3時,有下面幾個這樣的序列:

1 2

1 3

2 1

2 1 3

2 3

2 3 1

3 1

3 2

一共有8種,給定k,請求出滿足上面要求的序列的個數。

輸入格式

輸入包含了乙個整數k。(k<=20)

輸出格式

輸出乙個整數,表示滿足要求的序列個數。

樣例輸入

3 樣例輸出

8**能力

#include 

using

namespace

std;

int d[25];

int tag[25];

int k,sum;

void bfs(int t)

else

if(t>2&&d[t-2]>d[t-3]&&d[t-1]3]||d[t-2]3]&&d[t-1]>d[t-3])

else

return ;

}for(int i=1;i<=k;i++)

}}int main()

}

藍橋試題 演算法訓練 擺動序列

問題描述 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i 2個數大,則第i個數比第i 2個數小 如果第i 1個數比第i 2個數小,則第i個數比第i 2個數大。比如,當k 3時,有...

藍橋杯 擺動序列

題目 問題描述 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i 2個數大,則第i個數比第i 2個數小 如果第i 1個數比第i 2個數小,則第i個數比第i 2個數大。比如,當k 3...

藍橋杯 試題 演算法訓練 擺動序列 dp 找規律

題目 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i 2個數大,則第i個數比第i 2個數小 如果第i 1個數比第i 2個數小,則第i個數比第i 2個數大。比如,當k 3時,有下面...