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

2022-08-28 10:18:11 字數 1461 閱讀 2158

問題描述

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

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 #include 

#include

#include

#define ci cin.tie(0)

#define ios ios::sync_with_stdio(false)

#define fi first

#define se second

using

namespace

std;

typedef

long

long

ll;typedef pair

pii;

const

int n = 22

;int

n, ans;

inta[n];

bool

vis[n];

bool check(int num, int

k)void dfs(intu)

dfs(u + 1

); vis[i] = false

; }}

}int

main()

試題 演算法訓練 擺動序列

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

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

演算法訓練 擺動序列 時間限制 1.0s 記憶體限制 512.0mb 提交此題 錦囊1 錦囊2 問題描述 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i 2個數大,則第i個數比第...

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

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