南阳理工OJ_题目1023 还是回文
2014-05-21 20:41
204 查看
#include <iostream> #include <cstring> using namespace std; int dp(); char ch[2010]; int d[2010][2010]; int m, n; int cost_add['z'+2]; int cost_sub['z'+2]; int main() { while(cin >> n >> m) { cin >> (ch+1); for(int i = 1; i <= n; i++) { char c; cin >> c; cin >> cost_add[c] >> cost_sub[c]; } cout << dp() << '\n'; } } int dp() { int i = 1; int j = m; memset(d, 0, sizeof(d)); for(int i = m; i >= 1; i--) for(int j = i; j<= m; j++) { if(ch[i] == ch[j]) d[i][j] = d[i+1][j-1]; else { int t1, t2; t1 = d[i+1][j] + min(cost_add[ ch[i] ], cost_sub[ ch[i] ]); t2 = d[i][j-1] + min(cost_add[ ch[j] ], cost_sub[ ch[j] ]); d[i][j] = min(t1, t2); } } return d[1][m]; }
相关文章推荐
- 南阳理工OJ_题目37 回文字符串
- NYOJ 题目1023 还是回文(dp)
- 南阳理工oj题目练习---Binary String Matching
- nyoj 1023 还是回文(区间DP)
- 南阳理工OJ_题目18 The Triangle
- NYOJ 1023 还是回文(思路复杂)
- 九度OJ题目1023:EXCLE排序
- 南阳理工OJ_题目12 喷水装置(二)
- 南阳理工OJ_题目195 飞翔
- 九度OJ 题目1017:还是畅通工程 (最小生成树)
- 九度oj 题目1192:回文字符串
- 【九度OJ】题目1017:还是畅通工程 解题报告
- NYOJ1023 还是回文(区间DP)
- nyoj 1023 还是回文(区间DP)
- 南阳理工OJ_题目448 寻找最大数
- 南阳理工OJ_题目49 开心的小明
- 南阳理工OJ_题目289 苹果
- njoj1023 还是回文(区间dp)
- NYOJ1023 还是回文(区间dp)
- nyoj 1023 还是回文(区间DP)