题目描述
给定两个字符串str1和str2,再给定三个整数ic,dc和rc,分别代表插入、删除和替换一个字符的代价,请输出将str1编辑成str2的最小代价。
输入描述:
输出三行,第一行和第二行均为一行字符串,分别表示两个字符串str1,str2。\left( 1\leq length(str1),length(str2) \leq 5000 \right)(1≤length(str1),length(str2)≤5000)。第三行为三个正整数,代表ic,dc和rc。(1<=ic<=10000、1<=dc<=10000、1<=rc<=10000)
输出描述:
输出一个整数,表示编辑的最小代价。
示例1
输入
abc adc 5 3 2
输出
2
示例2
输入
abc adc 5 3 100
输出
8
示例3
输入
abc abc 5 3 2
输出
0
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int minCost(string s1, string s2, int ic, int dc, int rc){
if(s1.empty() || s2.empty())
return 0;
int len1=s1.length();
int