样例过不去求助!
查看原帖
样例过不去求助!
804607
rainygame楼主2023/4/4 22:22
#include <bits/stdc++.h>
using namespace std;
#define MOD 1000000007
#define MAXN 801

int n, m, k, tmpa, tmpb, ans;
int a[MAXN][MAXN], f[MAXN][MAXN][16][2];

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	
	cin >> n >> m >> k;
	k++;
	for (int i=1; i<=n; i++){
		for (int j=1; j<=m; j++){
			cin >> a[i][j];
			a[i][j] %= k;
			f[i][j][a[i][j]][0] = 1;
		}
	}
	
	for (int i=1; i<=n; i++){
		for (int j=1; j<=m; j++){
			for (int l=0; l<k; l++){
				tmpa = (l-a[i][j]+k)%k;
				tmpb = (l+a[i][j]+k)%k;
				f[i][j][k][0] += (f[i-1][j][tmpa][1] + f[i][j-1][tmpa][1]) % MOD;
				f[i][j][k][0] += (f[i-1][j][tmpb][1] + f[i][j-1][tmpb][1]) % MOD;
				if (!l) ans = (ans + f[i][j][l][1]) % MOD;
			}
		}
	}
	
	cout << ans;
	
	return 0;
}

2023/4/4 22:22
加载中...