比赛 |
中秋节快乐! |
评测结果 |
TTTTTTTTTTTTTTTTTTTT |
题目名称 |
数列 |
最终得分 |
0 |
用户昵称 |
李奇文 |
运行时间 |
36.569 s |
代码语言 |
C++ |
内存使用 |
3.27 MiB |
提交时间 |
2024-09-17 10:47:15 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=998244353;
int n,m,k,v[105],a[105];
ll ans;
int scale(ll x){
int res=0;
while(x){
x-=(-x&x);
res++;
}
return res;
}
void dfs(int x,ll s,ll y){
if(x>n){
int q=scale(s);
if(q<=k)
ans=(ans+y)%mod;
return;
}
for(int i=0;i<=m;i++){
a[x]=i;
dfs(x+1,s+(1<<i),y*v[i]%mod);
}
}
int main(){
freopen("2021sequence.in","r",stdin);
freopen("2021sequence.out","w",stdout);
scanf("%d%d%d",&n,&m,&k);
for(int i=0;i<=m;i++) scanf("%d",&v[i]);
dfs(1,0,1);
printf("%lld\n",ans);
return 0;
}