防水油毛毡价格:C语言高手进啊 帮忙编个程

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 12:19:00
字符串数组S1[n1],S2[n2],n1>n2,s1,s2匀由a,b,c,d组成,要求在S2中加入n1-n2个空格使s1和s2数组相同元素最多
大哥们帮帮忙啊 ,
设S1和S2为两个由a,b,c,d四个字母组成的字符序列(字符串),n1和n2分别表示s1和s2的序列长度,当n1不等于n2时(不妨设n1<n2),就需要在序列s1中插入n2-n1个空字符产生一个新的字符串s1',使s1'和s2一样长,然后进行比较.
1,构造一个衡量s1'和s2相似程度的指标
2,就本题给出的s1和s2,确定在s2中插入空格的位置,使Q最大
3,对任意的序列s1,s2,给出一般的算法,并用本题给出的s1和s2进行验证.
s1=abcddacbcbdadcabbdca, s2=aadaccbddcabacd

呵呵,我提供一个思路:
令S3[n2]为一数组,记录S2[n2]的每个元素在长度为n1的空格窜中的位置,显然,当X>Y时S3[X]>S3[Y],用递归算法求数组S3就行了,

算发开始,S3[0]=0,

算法进程,第k步,
if(k==n1) {
可以根据题目条件处理; //例如同位置元素个数等求借,并比较
}
for(i=s3[k],i<n1,i++) {
s3[++k]=i+1;
递归调用;
}
s3[0]=s3[0]+1;

算法结束条件:s3[0]=n1-n2.

什么呀,说明白点,使s1和s2数组相同元素最多?什么意思呀!

请再说详细点!