A4812 | 登塔
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
Alice 来到了一座魔塔,这座魔塔共有 $n$ 层,每层有 $m$ 个房间。房间的编号从 1 开始,依次记为 $1, 2, \dots, m$ 。每个房间 $(i, j)$ 中都藏有一些宝藏,其中 $i$ 表示第 $i$ 层, $j$ 表示第 $j$ 号房间,宝藏的价值记为 $v_{i,j}$ 。
魔塔有以下规则:
1. 封印规则:如果在第 $i$ 层选择了第 $j$ 号房间,那么在第 $i + 1$ 层,第 $j$ 号房间会被封印,无法被选择。
2. 选择限制:在每一层,Alice 必须且只能从一个未被封印的房间中取出宝藏。
3. 前进条件:只有从当前层的某个房间取出宝藏后,通往下一层的道路才会开启,Alice 才能进入下一层。
4. 终止条件:Alice 可以随时从魔塔中退出。
现在问,Alice 可以在魔塔中获得的宝藏的最大价值是多少。
魔塔有以下规则:
1. 封印规则:如果在第 $i$ 层选择了第 $j$ 号房间,那么在第 $i + 1$ 层,第 $j$ 号房间会被封印,无法被选择。
2. 选择限制:在每一层,Alice 必须且只能从一个未被封印的房间中取出宝藏。
3. 前进条件:只有从当前层的某个房间取出宝藏后,通往下一层的道路才会开启,Alice 才能进入下一层。
4. 终止条件:Alice 可以随时从魔塔中退出。
现在问,Alice 可以在魔塔中获得的宝藏的最大价值是多少。
输入格式
第一行 :输入两个整数 $n$ 和 $m$,分别表示魔塔的层数和每层的房间数。
($1 \le n, m \le 2 \times 10^5 , 1 \le n \times m \le 10^6$)
接下来的 $n$ 行 :每行输入 $m$ 个整数 $v_{i,1}$ $v_{i,2}$ $\dots$ $v_{i,m}$ ,每个整数之间用空格隔开,表示第 $i$ 层每个房间的宝藏价值。
($1 \le v_{i,j} \le 10^9$)
($1 \le n, m \le 2 \times 10^5 , 1 \le n \times m \le 10^6$)
接下来的 $n$ 行 :每行输入 $m$ 个整数 $v_{i,1}$ $v_{i,2}$ $\dots$ $v_{i,m}$ ,每个整数之间用空格隔开,表示第 $i$ 层每个房间的宝藏价值。
($1 \le v_{i,j} \le 10^9$)
输出格式
输出一个整数代表着Alice可以获得的最大的价值
输入输出样例
输入 #1
2 2 1 2 2 1
输出 #1
4
输入 #2
2 2 1 2 1 2
输出 #2
3
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?