#P2795. Facer爱游泳

Facer爱游泳

题目背景

Facer 是一个爱游泳的孩子。

题目描述

一天他来到了一个 n×mn \times m 的游泳池中,其中第一行是水面,第 nn 行是游泳池底。

Facer 想要从 (1,1)(1,1) 游到 (1,m)(1,m)。他初始速度为 00 m/s。

Facer 可以按照以下方式游泳:假设当前 Facer 位于 (x,y)(x,y),速度为 vv,那么它可以游到 (x+v,y+1)(x+v,y+1),如果 x+v>nx+v>n,那么就会游到 (n,y+1)(n,y+1)

到了每一个格子,Facer 可以选择将自己的速度 +1+11-1 或者不变,也就是说每次 Facer 有三种选择:

  • 游到 (x+v1,y+1)(x+v-1,y+1),速度变为 v1v-1
  • 游到 (x+v,y+1)(x+v,y+1),速度变为 vv
  • 游到 (x+v+1,y+1)(x+v+1,y+1),速度变为 v+1v+1

游泳池的每个格子上会放有以下两种物品中的一种:

  • 变速器,每个变速器有一个属性 ww,到了这个格子速度会变为 v+wv+w(当然原来的 +1+11-1,不变照样存在)。
  • 金币盒,每个金币盒中有一定数量的钱 aa,到了这个位置你可以得到 aa 个金币。

除此之外,有以下两点需要注意的:

  1. 当 Facer 到达水面,即位于 (1,x)(1,x) 时,Facer的速度会变成 00(当然他仍然可以选择将速度 +1+11-1 或不变)。
  2. Facer 不能在水下待太长时间,相邻两次到水面换气的时间不能超过 kk 秒。

求 Facer 能够得到最大金币的数量。

输入格式

第一行三个整数 n,m,kn,m,k

第二行到第 n+1n+1 行,每行 mm 个字符串,表示每个格子物品的情况:

  • 首字母为 v,后面接一个整数 ww,表示该格子中有一个变速器,属性为 ww
  • 首字母为 s,后面接一个整数 aa,表示该格子中有一个金币盒,钱数为 aa

输出格式

一行一个整数表示答案。

3 3 3
s1 v1 s1
s3 s19 v2
v3 s-1 v-1
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
430

提示

数据规模与约定

  • 对于 10%10\% 的数据,1n,m51 \leq n,m \leq 5
  • 对于 40%40\% 的数据,1n,m1001 \leq n,m \leq 100
  • 对于 100%100\% 的数据,1n1001 \leq n \leq 1001m10001 \leq m \leq 10001k101 \leq k \leq 1020w20-20 \leq w \leq 201000a1000-1000 \leq a \leq 1000