U472059 跳舞的线-捡钻
题目背景
### 小杨同学正在玩“跳舞的线”,遇到了一个岔路极多的关卡,每条路上都有钻石,小杨同学不知道最多能捡多少钻石,想让智慧的你帮忙求出钻石个数
题目描述
### 给定一个跳舞的线的地图(有墙、路、虚空、钻石),问路上最大能获得多少钻石,并求出获得最大钻石的路径。
#### 线的移动规则:
1.线只能往下走或往右走
2.线遇到墙会撞上墙(不能跨过墙)
3.线可以跨越一格虚空(忽略高低问题)
4.线可以在路上拐弯,但不能在虚空上拐弯
输入格式
第1行输入两个数$N,M$,表示地图的长度和宽度。
第2行到$N+1$行,每行$M$个数,用空格隔开。
- 墙为```2```
- 路为```1```
- 虚空为```0```
- 钻石为```3```
输出格式
输出一个数输出最大捡钻个数,如果无法到达终点,输出```-1```。
说明/提示
### 本题为封装测试点,必须全对
|封装测试点|$N,M$|特殊性质|
| :----------: | :----------: | :----------: |
|子任务1|$\le 10$|样例|
|子任务2|$\le 50$|
|子任务3|$\le 100$|特殊性质1|
|子任务4|$\le 100$|
|子任务5|$\le 1000$|
|子任务6|$\le 1000$|
|子任务7(hack)|
特殊性质1:没有虚空