记录编号 596087 评测结果 AAAAAAAAAA
题目名称 体育课 最终得分 100
用户昵称 Gravatarwdsjl 是否通过 通过
代码语言 C++ 运行时间 0.129 s
提交时间 2024-10-21 15:58:07 内存使用 3.56 MiB
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 2010;
const int mod = 998244353;
ll dp[N],n,m;

char s[100010];

int main(){
	freopen("sportk.in","r",stdin);
	freopen("sportk.out","w",stdout);
	scanf("%lld%lld",&n,&m);
	scanf("%s",s);
	dp[0]=1;
	for(int i=0;i<n;i++){
		for(int j=(1<<(m-1))-1;j>=0;j--){
			int k=(j<<1)|(s[i]-'0');
			if(j!=0||s[i]=='1'){
//				dp[k]+=dp[j]%=mod;
				dp[k]=(dp[k]+dp[j])%mod;
			}
		}
	}
	ll ans=0;
	for(int i=0;i<(1<<m);i++){
		ans=(ans+1ll*i*dp[i])%mod;
	}
	printf("%lld",ans);
	return 0;
}