正经题解
2025-07-10 13:53:09
发布于:浙江
16阅读
0回复
0点赞
算法:动态规划(dp)
#include<bits/stdc++.h>
using namespace std;
const int MOD=998244353;
static int dp[21], ndp[21];
int main(){
int n;
if(!(cin>>n)) return 0;
dp[0]=1;
for(int i=0;i<n;i++){
int a;
cin>>a;
int r=a%21;
for(int j=0;j<21;j++) ndp[j]=dp[j];
for(int j=0;j<21;j++){
int k=(j+r)%21;
ndp[k]=(ndp[k]+dp[j])%MOD;
}
for(int j=0;j<21;j++) dp[j]=ndp[j];
}
cout<<dp[0];
return 0;
}
这里空空如也
有帮助,赞一个