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;
}
相关推荐
csdn_aspnet2 小时前
C语言 Lomuto分区算法(Lomuto Partition Algorithm)
c语言·开发语言·算法
谙弆悕博士2 小时前
【附C源码】从零实现C语言堆数据结构:原理、实现与应用
c语言·数据结构·算法··数据结构与算法
C+++Python4 小时前
C++ 进阶学习完整指南
java·c++·学习
sparEE4 小时前
c++值类别、右值引用和移动语义
开发语言·c++
jrrz08285 小时前
Apollo MPC Controller
c++·自动驾驶·apollo·mpc·横向控制·lateral control
gaosushexiangji5 小时前
DIC系统推荐:基于千眼狼三维数字图像相关的无人机旋翼疲劳试验全场应变与位移测量
人工智能·算法
小王C语言7 小时前
【线程概念与控制】:线程封装
jvm·c++·算法
学习,学习,在学习7 小时前
Qt工控仪器程序框架设计详解(工控多仪器控制版本)
开发语言·c++·qt
kyle~7 小时前
工程数学---点云配准卡布施(Kabsch)算法(求解最优旋转矩阵)
线性代数·算法·矩阵
张二娃同学7 小时前
03_变量常量与输入输出_printf与scanf详解
算法