29.路径类dp

一.矩阵的最小路径和

题目链接:https://www.nowcoder.com/practice/38ae72379d42471db1c537914b06d48e?tpId=230&tqId=39755&ru=/exam/oj

1.题目解析

2.代码实现

cpp 复制代码
#include <iostream>
#include <cstring>

using namespace std;

const int N = 510;
int n,m;
int f[N][N];

int main()
{
    cin >> n >> m;
    memset(f,0x3f,sizeof(f));
    f[0][1] = 0;
    for(int i = 1;i <= n;i++)
    {
        for(int j = 1;j <= m;j++)
        {
            int t;
            cin >> t;
            f[i][j] = min(f[i - 1][j],f[i][j - 1]) + t;
        }
    }
    cout << f[n][m] << endl;
    return 0;
}

二.迷雾森林

题目链接:https://ac.nowcoder.com/acm/problem/53675

1.题目解析

2.代码实现

cpp 复制代码
#include <iostream>

using namespace std;

const int N = 3010, MOD = 2333;
int n,m;
int a[N][N];
int f[N][N];

int main()
{
    scanf("%d%d",&n,&m);
    for(int i = 1;i <= n;i++)
    {
        for(int j = 1;j <= m;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    f[n][0] = 1;
    for(int i = n;i >= 1;i--)
    {
        for(int j = 1;j <= m;j++)
        {
            if(a[i][j] == 0) f[i][j] = (f[i + 1][j] + f[i][j - 1]) % MOD;
        }
    }
    cout << f[1][m] << endl;
    return 0;
}

三.过河卒

题目链接:https://www.luogu.com.cn/problem/P1002

1.题目解析

2.代码实现

四.方格取数

题目链接:https://www.luogu.com.cn/problem/P1004

1.题目解析

2.代码实现

cpp 复制代码
#include <iostream>

using namespace std;
typedef long long LL;
const int N = 25;

int n,m,a,b;
LL f[N][N];

bool check(int x,int y)
{
    return (x == a && y == b) || (x != a && y != b && abs(x - a) + abs(y - b) == 3);
}

int main()
{
    cin >> n >> m >> a >> b;
    n++;m++;a++;b++;
    f[0][1] = 1;
    for(int i = 1;i <= n;i++)
    {
        for(int j = 1;j <= m;j++)
        {
            if(check(i,j)) continue;
            f[i][j] = f[i - 1][j] + f[i][j - 1];
        }
    }
    cout << f[n][m] << endl;
    return 0;
}
相关推荐
西西弗Sisyphus8 分钟前
Qt 实现一个 水波进度球
c++·qt·c
无忧.芙桃9 分钟前
数据结构之排序算法(中):冒泡排序与快速排序,从相邻交换到工程级优化
c语言·c++·排序算法
不会就选b9 分钟前
算法日常・每日刷题--<贪心>17
算法
Hhy_110715 分钟前
《C++深度解构04》类和对象(下)——类型转换、static、友元与编译器优化
c语言·c++·学习·类和对象·visual studio
qq_1998868741 分钟前
第7板块·第1节:通用算子分类与设计模式
c++·人工智能·gpu算力·cuda
6Hzlia2 小时前
【Classic 150 刷题计划】 LeetCode 205. 同构字符串 | C++ 双向绑定与哈希表映射
c++·算法·leetcode
神仙别闹8 小时前
基于 C++ 实现(控制台)学生成绩管理系统
开发语言·c++
会周易的程序员8 小时前
5 节点边缘冗余方案(上):基于 aiRaft 的物联网高可用控制面设计
c++·分布式·物联网·raft·iot·共识
有点。9 小时前
C++03阶段练习(练习题)
数据结构·算法·图论
周末也要写八哥10 小时前
经典算法实例:游戏中弱角色的数量(二)
算法