首页 > 其他 > 详细

【常规dp】P1373 小a和uim之大逃离

时间:2019-10-09 13:54:26      阅读:90      评论:0      收藏:0      [点我收藏+]
技术分享图片
 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdio>
 4 using namespace std;
 5 
 6 int a[810][810];
 7 int f[810][810][20][2];
 8 const int mod = 1e9 + 7;
 9 
10 int main()
11 {
12     ios::sync_with_stdio(false);
13     int n, m;
14     int k;
15     cin >> n >> m >> k;
16     k++;
17     for (int i = 1; i <= n; i++)
18         for (int j = 1; j <= m; j++)
19         {
20             cin >> a[i][j];
21             f[i][j][a[i][j] % k][0] = 1;
22         }
23     for (int i = 1; i <= n; i++)
24         for (int j = 1; j <= m; j++)
25             for (int h = 0; h <= k; h++)
26             {
27                 f[i][j][h][0] = (f[i][j][h][0] + f[i - 1][j][(h - a[i][j] + k) % k][1]) % mod;
28                 f[i][j][h][0] = (f[i][j][h][0] + f[i][j - 1][(h - a[i][j] + k) % k][1]) % mod;
29                 f[i][j][h][1] = (f[i][j][h][1] + f[i - 1][j][(h + a[i][j]) % k][0]) % mod;
30                 f[i][j][h][1] = (f[i][j][h][1] + f[i][j - 1][(h + a[i][j]) % k][0]) % mod;
31             }
32     int sum = 0;
33     for (int i = 1; i <= n; i++)
34     {
35         for (int j = 1; j <= m; j++)
36         {
37             sum = (sum + f[i][j][0][1]) % mod;
38         }
39     }
40     cout<<sum;
41 }
View Code

 

【常规dp】P1373 小a和uim之大逃离

原文:https://www.cnblogs.com/thjkhdf12/p/11641126.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!