题目描述
给一个源串和目标串,用最少的操作次数,使得源串进行下列操作之后等于目标串。
1、在给定的位置插入字符
2、将当前字符替换成任意字符
3、删除任意字符
输入
第1行,一个只包含大小写字母和数字的字符串,表示源串,长度不超过1000。
第2行,一个只包含大小写字母和数字的字符串,表示目标串,长度不超过1000。
输出
1行,1个整数,表示将源串等于目标串的最少操作次数。
样例
输入 复制
aa
bb
输出 复制
2
提示
20%的数据,目标串的长度为1。
100%的数据,源串和目标串的长度<=1000。
#include<stdio.h>
#include<string.h>
int f(char a[],char b[])
{
char tem='#';
int j,k,len_a=strlen(a),len_b=strlen(b),count=0;
for(j=0; j<len_a; j++)
{
for(k=0; k<len_b; k++)
{
if(a[j]==b[k])
{
b[k]='#';
count++;
}
}
}
if(len_a>len_b)
return len_a-count;
else
return len_b-count;
}
int main()
{
char a[1000],b[1000];
gets(a);
gets(b);
printf("%d",f(a,b));
return 0;
}