输出0求助
查看原帖
输出0求助
481337
Pratty楼主2024/10/24 18:58

RT,以下的代码期望分数为 84pts84pts

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int mod = 998244353;
int n, m, ans, all;
int a[110][2100], s[110], f[110][110][110], g[110][110];
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]);
			s[i] += a[i][j];
		}
	}
	for (int l = 1; l <= m; l++) {
		f[1][0][1] = s[1] - a[1][l];
		for (int i = 2; i <= n; i++) {
			for (int j = 0; j <= i; j++) {
				for (int k = 0; k <= i - j; k++) {
					f[i][j][k] = (f[i - 1][j][k] + a[i][l] * f[i - 1][j - 1][k] % mod + (s[i] - a[i][l]) * f[i - 1][j][k - 1] % mod) % mod;
				}
			}
		}
		for (int j = 0; j <= n; j++) {
			for (int k = 0; k < j; k++) {
				ans = (ans + f[n][j][k]) % mod;
//				cout << ans << endl;
			}
		}
	}
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= i; j++) {
			g[i][j] = (g[i - 1][j] + s[i] * g[i - 1][j - 1] % mod) % mod;
		}
	}
	for (int i = 1; i <= n; i++) {
		all = (all + g[n][i]) % mod;
	}
	printf("%lld", all - ans);
	return 0;
}
2024/10/24 18:58
加载中...