自己博客上好像全是代码了,正经的题解还没多少。。。
代码还都是一堆看别人题解写出来的。
https://www.luogu.org/blog/yh1127/solution-p1373
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include<iostream> #include<cstring> #define MOD 1000000007 using namespace std; int f[805][805][17][2],a[805][805]; int n,m,k,ans; int main(){ ios::sync_with_stdio(false); cin>>n>>m>>k; k++; for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){ cin>>a[i][j]; f[i][j][a[i][j]][0]=1; } for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)for(int p=0;p<=k-1;p++){ f[i][j][p][1]+=f[i][j-1][(p+a[i][j])%k][0]; f[i][j][p][1]%=MOD; f[i][j][p][1]+=f[i-1][j][(p+a[i][j])%k][0]; f[i][j][p][1]%=MOD; f[i][j][p][0]+=f[i][j-1][(p-a[i][j]+k)%k][1]; f[i][j][p][0]%=MOD; f[i][j][p][0]+=f[i-1][j][(p-a[i][j]+k)%k][1]; f[i][j][p][0]%=MOD; } for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){ ans+=f[i][j][0][1]; ans%=MOD; } cout<<ans; } |