求序列數量
阿新 • • 發佈:2021-01-20
技術標籤:天梯賽
設序列L由{l1,l2,l3,⋯,li,⋯}(li≥0,i≥3)構成,其中,l1為整數M, l2≤l1,從l3開始li<∣li−2 −li−1 ∣(i≥3)。 M=4時,有7個序列
輸入格式:
輸入一個序列中的第一個正整數M(M≤1000)。
輸出格式:
輸出滿足條件的序列的個數的後四位,即個數對10000取模。
輸入樣例:
在這裡給出一組輸入。例如:
5
輸出樣例:
在這裡給出相應的輸出。例如:
14
#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
const int MOD = 10000;
int mem[1001][1000];
int dfs(int pre, int cur)
{
if (cur <= 0)
return 0;
if (mem[pre][cur] != 0)
return mem[pre][cur];
return mem[pre][cur] = (1 + dfs(pre, cur - 1) + dfs(cur, abs(pre - cur) - 1)) % MOD;
}
int main()
{
int N;
cin >> N;
cout << dfs(N, N) << endl;
return 0;
}