NC221826. 字母收集
描述
输入描述
接下来的 行 每行一个长度为 的、仅有小写字母构成的字符串,代表矩形方阵。
输出描述
小红最大可能的得分。
示例1
输入:
3 2 ab cd ef
输出:
1
说明:
选择下、下、右)这条路径即可,可以收集到 acef 这四个字母各一次,获得 0+0+1+0=1 分。示例2
输入:
2 3 lle ove
输出:
11
C++ 解法, 执行用时: 16ms, 内存消耗: 2852K, 提交时间: 2021-09-11 14:21:51
#include<bits/stdc++.h> using namespace std; char mp[1000][1000]; int dp[1000][1000]; map<char,int> ma; int main(){ ma['l']=4; ma['o']=3; ma['v']=2; ma['e']=1; int n,m; cin>>n>>m; for(int i=1;i<=n;++i){ for(int j=1;j<=m;++j){ cin>>mp[i][j]; } } for(int i=1;i<=n;++i){ for(int j=1;j<=m;++j){ dp[i][j]=max(dp[i-1][j],dp[i][j-1])+ma[mp[i][j]]; } } cout<<dp[n][m]<<endl; }