A2138 | Facer爱游泳
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
Facer 是一个爱游泳的孩子。一天他来到了一个 $n \times m$ 的游泳池中,其中第一行是水面,第 $n$ 行是游泳池底。

Facer 想要从 $(1,1)$ 游到 $(1,m)$。他初始速度为 $0$ m/s。
Facer 可以按照以下方式游泳:假设当前 Facer 位于 $(x,y)$,速度为 $v$,那么它可以游到 $(x+v,y+1)$,如果 $x+v>n$,那么就会游到 $(n,y+1)$。
到了每一个格子,Facer 可以选择将自己的速度 $+1$,$-1$ 或者不变,也就是说每次 Facer 有三种选择:
- 游到 $(x+v-1,y+1)$,速度变为 $v-1$。
- 游到 $(x+v,y+1)$,速度变为 $v$。
- 游到 $(x+v+1,y+1)$,速度变为 $v+1$。
游泳池的每个格子上会放有以下两种物品中的一种:
- 变速器,每个变速器有一个属性 $w$,到了这个格子速度会变为 $v+w$(当然原来的 $+1$,$-1$,不变照样存在)。
- 金币盒,每个金币盒中有一定数量的钱 $a$,到了这个位置你可以得到 $a$ 个金币。
除此之外,有以下两点需要注意的:
1. 当 Facer 到达水面,即位于 $(1,x)$ 时,Facer的速度会变成 $0$(当然他仍然可以选择将速度 $+1$,$-1$ 或不变)。
2. Facer 不能在水下待太长时间,相邻两次到水面换气的时间不能超过 $k$ 秒。
求 Facer 能够得到最大金币的数量。

Facer 想要从 $(1,1)$ 游到 $(1,m)$。他初始速度为 $0$ m/s。
Facer 可以按照以下方式游泳:假设当前 Facer 位于 $(x,y)$,速度为 $v$,那么它可以游到 $(x+v,y+1)$,如果 $x+v>n$,那么就会游到 $(n,y+1)$。
到了每一个格子,Facer 可以选择将自己的速度 $+1$,$-1$ 或者不变,也就是说每次 Facer 有三种选择:
- 游到 $(x+v-1,y+1)$,速度变为 $v-1$。
- 游到 $(x+v,y+1)$,速度变为 $v$。
- 游到 $(x+v+1,y+1)$,速度变为 $v+1$。
游泳池的每个格子上会放有以下两种物品中的一种:
- 变速器,每个变速器有一个属性 $w$,到了这个格子速度会变为 $v+w$(当然原来的 $+1$,$-1$,不变照样存在)。
- 金币盒,每个金币盒中有一定数量的钱 $a$,到了这个位置你可以得到 $a$ 个金币。
除此之外,有以下两点需要注意的:
1. 当 Facer 到达水面,即位于 $(1,x)$ 时,Facer的速度会变成 $0$(当然他仍然可以选择将速度 $+1$,$-1$ 或不变)。
2. Facer 不能在水下待太长时间,相邻两次到水面换气的时间不能超过 $k$ 秒。
求 Facer 能够得到最大金币的数量。
输入格式
第一行三个整数 $n,m,k$。
第二行到第 $n+1$ 行,每行 $m$ 个字符串,表示每个格子物品的情况:
- 首字母为 ``
- 首字母为 ``
第二行到第 $n+1$ 行,每行 $m$ 个字符串,表示每个格子物品的情况:
- 首字母为 ``
v``,后面接一个整数 $w$,表示该格子中有一个变速器,属性为 $w$。- 首字母为 ``
s``,后面接一个整数 $a$,表示该格子中有一个金币盒,钱数为 $a$。输出格式
一行一个整数表示答案。
输入输出样例
输入 #1
3 3 3 s1 v1 s1 s3 s19 v2 v3 s-1 v-1
输出 #1
2
输入 #2
5 10 3 s81 s47 s3 s0 s82 s31 s89 v0 s97 v-1 s14 s94 v1 v-1 v1 s106 v1 v0 v-1 v0 s93 s105 v-1 s219 v0 v0 v-1 v1 s225 v1 v0 s160 v1 v1 s348 s120 s240 s392 s280 s172 s305 s455 s140 v-1 s455 v0 v-1 v0 v1 s410
输出 #2
430
$1 \leq n \leq 100$,$1 \leq m \leq 1000$,$1 \leq k \leq 10$,$-20 \leq w \leq 20$,$-1000 \leq a \leq 1000$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted