社区讨论

恳请热心谷民帮忙查错

P5664[CSP-S 2019] Emiya 家今天的饭参与者 3已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@lo15rlfu
此快照首次捕获于
2023/10/22 15:39
2 年前
此快照最后确认于
2023/11/02 15:13
2 年前
查看原帖
CPP
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int Mod = 998244343;
const int N = 105;
const int M = 2005;
int n,m;
int a[N][M];
int f[N][N << 1],ans = 1;
int sum[N];
signed main()
{
	scanf("%lld%lld",&n,&m);
	for (int i=1;i<=n;i++){
		for (int j=1;j<=m;j++){
			scanf("%lld",&a[i][j]);
			sum[i] += a[i][j];
			sum[i] %= Mod;
		}
		ans = (ans * (sum[i] + 1)) % Mod;
	}
	ans = (ans + Mod - 1)  % Mod;
	for (int col = 1;col <= m;col++){
		memset(f,0,sizeof(f));
		f[0][n] = 1;
		for (int i=1;i<=n;i++)
		    for (int j=n-i;j<=n+i;j++)
		       f[i][j] = (f[i-1][j] + a[i][col] * f[i-1][j-1] % Mod+ ((sum[i] - a[i][col] + Mod) % Mod) * f[i-1][j+1] % Mod) % Mod;
		for (int j=1;j<=n;j++)
		    ans = (ans - f[n][n + j] + Mod) % Mod;
	}
	printf("%lld\n",ans);
	return 0;
}

回复

5 条回复,欢迎继续交流。

正在加载回复...