比赛 20241021 评测结果 AAWWTTTTTT
题目名称 体育课 最终得分 20
用户昵称 Davinci 运行时间 11.912 s
代码语言 C++ 内存使用 3.54 MiB
提交时间 2024-10-21 10:14:40
显示代码纯文本
#include<iostream>
#include<cmath>
using namespace std;
long long a[100005];
char c[100005];
long long zh[15][5];
long long p=998244353;
long long sum;
int main(){
	freopen("sportk.in","r",stdin);
	freopen("sportk.out","w",stdout);
	zh[1][0]=1;
	zh[2][0]=1;
	zh[3][0]=1;
	zh[4][0]=1;
	zh[1][1]=1;
	zh[2][1]=2;
	zh[2][2]=1;
	zh[3][1]=3;
	zh[3][2]=3;
	zh[3][3]=1;
	zh[4][1]=4;
	zh[4][2]=6;
	zh[4][3]=4;
	zh[4][4]=1;
	zh[0][0]=1;
	zh[5][1]=5;
	zh[5][2]=10;
	zh[5][3]=10;
	zh[5][4]=5;
	zh[5][5]=1;
	zh[5][0]=1;
	zh[6][0]=1;
	zh[6][1]=6;
	zh[6][2]=15;
	zh[6][3]=20;
	zh[6][4]=15;
	zh[6][5]=6;
	zh[6][6]=1;
	zh[7][0]=1;
	zh[7][1]=7;
	zh[7][2]=21;
	zh[7][3]=35;
	zh[7][4]=35;
	zh[7][5]=21;
	zh[7][6]=7;
	zh[7][7]=1;
	zh[8][0]=1;
	zh[8][1]=8;
	zh[8][2]=28;
	zh[8][3]=56;
	zh[8][4]=70;
	zh[8][5]=56;
	zh[8][6]=28;
	zh[8][7]=8;
	zh[8][8]=1;
	zh[9][0]=1;
	zh[9][1]=9;
	zh[9][2]=36;
	zh[9][3]=84;
	zh[9][4]=126;
	zh[9][5]=126;
	zh[9][6]=84;
	zh[9][7]=36;
	zh[9][8]=9;
	zh[9][9]=1;
	zh[10][0]=1;
	zh[10][1]=10;
	zh[10][2]=45;
	zh[10][3]=120;
	zh[10][4]=210;
	zh[10][5]=252;
	zh[10][6]=210;
	zh[10][7]=120;
	zh[10][8]=45;
	zh[10][9]=10;
	zh[10][10]=1;
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>c[i];
		a[i]=c[i]-'0';
	}
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			for(int l=0;l<j;l++){
				if((i-1-l)<0){
					break;
				}
				long long sumres=pow(2,i-1-l);
				sum=(sum+(a[j]*sumres)*zh[j-1][l]*zh[n-j][i-1-l]%p)%p;
				for(int k=1;k<=j-l;k++){
					if(a[k]==0){
						sum=(sum-(a[j]*sumres)*zh[j-1-k][l-1]*zh[n-j][i-1-l]%p)%p;
					}
				}
			}
		}
	}
	cout<<sum;
	fclose(stdin);
	fclose(stdout);
	return 0;
}