码迷,mamicode.com
首页 > 其他好文 > 详细

雅礼2018-03-11 2

时间:2018-03-12 01:10:27      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:最小   font   另一个   ons   动态   删除   gpo   name   i++   

题 4:字符串的修改(str.pas/in/out)
【问题描述】
有 A=a1a2a3?am,B=b1b2b3?bn 两个字符串(均为小写字母)现在要通过以下操作将 A
或 A 的一个后缀修改为 B:
1. 删除 删除掉 A 中的某一个字符。
2. 添加 将某一个字符添加到 A 中任意位置。
3. 替换 将 A 中某一字符替换为另一个。
求出最小操作次数。
【输入格式】
第一行为字符串 A。 第二行为字符串 B(长度均不超过 1000)。
【输出格式】
一个正整数,最小操作次数。
【样例输入】
aaab
aabc
【样例输出】
1
【提示】
1 次操作 使用后缀 aab 在末尾插入 c。

原先思路:暴力枚举1~3的几种情况,结果木有得一分,白忙活了。。。。。。

代码要用到DP(动态规划)的思路,由于时间关系,发个老师的代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn=1000+10;
int a[maxn];
string s[maxn];
int main(){
int i,j,k,m,n;
string s1,s2;
cin>>s1>>s2;
if(s1==s2){cout<<0<<endl;return 0;}
int l=1;
for(i=1;i<s1.length();i++){
s[i]=s1.substr(l);
l++;
}
for(i=1;i<s1.length();i++){
if(s[i]==s2){cout<<0<<endl;return 0;}
}
return 0;
}

雅礼2018-03-11 2

标签:最小   font   另一个   ons   动态   删除   gpo   name   i++   

原文地址:https://www.cnblogs.com/jr-ag/p/8546979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!