记录编号 596099 评测结果 AAAAAAAAAA
题目名称 体育课 最终得分 100
用户昵称 Gravatar小金 是否通过 通过
代码语言 C++ 运行时间 0.136 s
提交时间 2024-10-21 16:57:24 内存使用 3.56 MiB
显示代码纯文本
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. using namespace std;
  5. const long long mod=998244353;
  6. int n,m,a[100010];
  7. long long dp[5000],ans;
  8. char str[100010];
  9. int main()
  10. {
  11. freopen("sportk.in","r",stdin);
  12. freopen("sportk.out","w",stdout);
  13. scanf("%d%d",&n,&m);
  14. scanf("%s",str+1);
  15. for(int i=1;i<=n;i++)
  16. {
  17. a[i]=str[i]-'0';
  18. }
  19. dp[0]=1;
  20. for(int i=1;i<=n;i++)
  21. {
  22. for(int j=(1<<(m-1))-1;j>=0;j--)
  23. {
  24. int k=(j<<1)|a[i];
  25. if(k!=0) dp[k]=(dp[k]+dp[j])%mod;
  26. }
  27. }
  28. for(int i=0;i<(1<<m);i++)
  29. {
  30. ans=(ans+dp[i]*i%mod)%mod;
  31. }
  32. printf("%lld",ans);
  33. return 0;
  34. }