1212. 地宫取宝

简介: 1212. 地宫取宝

1212. 地宫取宝 - AcWing题库

//卡壳点:m写成了n,这也是高频卡壳错误,需要优先检查

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
const int mod = 1000000007;int n,m,k;
int f[55][55][15][15];
int w[55][55];
int main(){
    cin >> n >> m >> k;
    for (int i = 1; i <= n; i ++ )
        for (int j = 1; j <= m; j ++ )
        {
            cin >> w[i][j];
            w[i][j] ++ ;
        }
    f[1][1][0][0] = 1;
    f[1][1][1][w[1][1]] = 1;
    for(int i = 1;i <= n;i++){
        for(int j = 1;j <= m;j++){//卡壳点:m写成了n这也是高频卡壳错误
            if(i == 1 && j == 1)continue;
            for(int a = 0;a <= k;a++){
                for(int b = 0;b <= 13;b++){
                    int &val = f[i][j][a][b] ;
                    val = (val + f[i][j-1][a][b]) % mod;
                    val = (val + f[i-1][j][a][b]) % mod;
                    if(a > 0 && b < w[i][j]){
                        int &vall = f[i][j][a][w[i][j]];
                        vall = (vall + f[i][j-1][a-1][b]) % mod;
                        vall = (vall + f[i-1][j][a-1][b]) % mod;
                    }    
                }
            }
        }
    }
    int res = 0;
    for (int i = 0; i <= 13; i ++ ) res = (res + f[n][m][k][i]) % mod;
    cout << res << endl;
}

思路


// // 数据范围

// 1≤n,m≤50

// ,

// 1≤k≤12

// ,

// 0≤Ci≤12

// // 范围小,不用在意


// // 他有多少种不同的行动方案能获得这 k

// // 件宝贝。

// // 切入点 求满足条件的方案数量 dp,枚举,dfs

// dp

// 状态表示 集合 坐标,最大价值,数量 ,四维数组表示f[i][j][k][w] 走到i,j时k件物品,最大价值为w的方案数

// 需要用0作第四维下标来表示还没有选,因此w读入时要++

// 属性 数量

// 状态计算 集合划分 最后一个不一样的点 f[i][j][k][w];


// 拿I,J f[i-1][j][k-1][0~w[i][j]-1];

// f[i][j-1][k-1][0~w[i][j]-1];



// 不拿i,j f[i-1][j][k][0~13];

// f[i][j-1][k][0~13];


// 所有方案相加得f[i][j],两两相加之后取模

// // 输出f[i][j][k][0~13]

// 边界初始化f[1][1][0][0] = 1;

// f[1][1][1][w[1][1]] = 1;


目录
相关文章
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之如何使用PostgreSQL2.4.1从指定时间戳同步数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
JavaScript 索引
vue 在什么情况下在数据发生改变的时候不会触发视图更新
vue 在什么情况下在数据发生改变的时候不会触发视图更新
228 2
|
运维 监控 NoSQL
运维必备——ELK日志分析系统(下)
运维必备——ELK日志分析系统(下)
214 0
运维必备——ELK日志分析系统(下)
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1020 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1716 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
659 152