您的位置:首页 > 游戏 > 手游 > 百度提交入口网站怎么看_莱芜在线论坛莱芜话题秦立奉_中国市场营销网网站_网络公司网络营销推广方案

百度提交入口网站怎么看_莱芜在线论坛莱芜话题秦立奉_中国市场营销网网站_网络公司网络营销推广方案

2025/2/23 1:28:23 来源:https://blog.csdn.net/qq_62172019/article/details/145679150  浏览:    关键词:百度提交入口网站怎么看_莱芜在线论坛莱芜话题秦立奉_中国市场营销网网站_网络公司网络营销推广方案
百度提交入口网站怎么看_莱芜在线论坛莱芜话题秦立奉_中国市场营销网网站_网络公司网络营销推广方案

题目如下
在这里插入图片描述

数据范围
在这里插入图片描述

本题同样是由于一个坐标对应的状态数不唯一所以需要三维数组来存储状态并转移。
显然我们无需关心具体的数只需要计算余数即可((a + b)% k == a % k + b % k)
所以我们用余数的可能取值(0 到 k - 1)作为状态。

通过代码

class Solution {
public:int numberOfPaths(vector<vector<int>>& grid, int k) {int mod = 1e9 + 7;int n = grid.size();int m = grid[0].size();int t;vector<vector<vector<int>>> dp(k,vector<vector<int>>(n,vector<int>(m,0)));dp[grid[0][0] % k][0][0] = 1;for(int i = 1;i < m;i++){t = grid[0][i] % k;for(int j = 0;j < k;j++){dp[(t + j) % k][0][i] = dp[j][0][i - 1];}}for(int i = 1;i < n;i++){t = grid[i][0] % k;for(int j = 0;j < k;j++){dp[(t + j) % k][i][0] = dp[j][i - 1][0];}}for(int i = 1;i < n;i++){for(int j = 1;j < m;j++){t = grid[i][j] % k;for(int l = 0;l < k;l++){dp[(t + l) % k][i][j] = dp[l][i - 1][j];dp[(t + l) % k][i][j] = (dp[(t + l) % k][i][j] + dp[l][i][j - 1]) % mod;}}}return dp[0][n - 1][m - 1] % mod;}
};

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com