NC9 字母收集

这是一个关于求解在给定矩形矩阵中,从左上角开始按右下方向移动,收集字母并获得最高分数的问题。小红在收集'love'这四个字母时,每个字母有不同的分数。算法需要找到最优路径以最大化得分。
摘要由CSDN通过智能技术生成

描述

有一个 n*mn∗m 的矩形方阵,每个格子上面写了一个小写字母。
小红站在矩形的左上角,她每次可以向右或者向下走,走到某个格子上就可以收集这个格子的字母。
小红非常喜欢 "love" 这四个字母。她拿到一个 l 字母可以得 4 分,拿到一个 o 字母可以得 3 分,拿到一个 v 字母可以得 2 分,拿到一个 e 字母可以得 1 分。
她想知道,在最优的选择一条路径的情况下,她最多能获取多少分?

输入描述:

1≤n,m≤500
接下来的 nn 行 每行一个长度为 mm 的、仅有小写字母构成的字符串,代表矩形方阵。

输出描述:

小红最大可能的得分。

示例1

输入:

3 2
ab
cd
ef

输出:

1

说明:

选择下、下、右)这条路径即可,可以收集到 acef 这四个字母各一次,获得 0+0+1+0=1 分。

示例2

输入:

2 3
lle
ove

输出:

11

思路:用arr数组存储输入的字母,用arr2来存储字母表示的数值,用dp来表示最优解。

import java.util.Scanner;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值