# 題目
APCS 模擬團隊 OJ apcs0304-cpp: 調酒專家 (Mixologist)
# 解題思路
目前沒東西...
# 程式碼
#include<bits/stdc++.h> | |
using namespace std; | |
typedef long long LL; | |
#define Rabbir_Reaper ios_base::sync_with_stdio(0); cin.tie(0); | |
const int N = 2000 + 5; | |
LL dp[N][N]; | |
int main(){ | |
Rabbir_Reaper | |
int n,m; | |
vector<LL> v; | |
cin>>n>>m; | |
v.push_back(1); | |
for(LL i=0,temp;i<m;i++){ | |
cin>>temp; | |
v.push_back(temp); | |
} | |
for(int i=0;i<=m;i++) dp[0][i] = 1; | |
for(int i=0;i<=n;i++) dp[i][0] = 1; | |
for(LL i=1;i<=n;i++){ | |
for(int j=1;j<=m;j++){ | |
int limit = i - min(i,v[j]); | |
dp[i][j] = dp[i][j-1]-(limit == 0 ? 0 : dp[limit-1][j-1]); | |
dp[i][j] %= 998244353; | |
if(j == m){ | |
cout<<dp[i][m]; | |
if(i != n) cout<<" "; | |
} | |
dp[i][j] += dp[i-1][j]; | |
} | |
} | |
} |