http://acm.pku.edu.cn/JudgeOnline/problem?id=2629
题意:找出两个字符串中的最大公共序列、可以是不连续的、按字典顺序输出。
#include <cstdio>
#include <string.h>
#include <algorithm>
using namespace std;
char str1[1010],str2[1010],com[1010];
void Work()
{
int i,j,a,b,k;
a = strlen(str1);
b = strlen(str2);
sort(str1,str1+a);//对字符串一排序
sort(str2,str2+b);//对字符串二排序
k = 0 ;
for(i = 0;i < a;i ++)
{
for(j = k;j < b;j ++)
{
if(str1[i] == str2[j])//寻找相同字符
{
printf("%c",str1[i]);
str2[j] = '#';
k = j;
break;
}
}
}
printf("/n");
}
int main()
{
while(gets(str1))
{
gets(str2);
Work();
}
return 0 ;
}
/*
pretty
women
walking
down
the
street
e
nw
et
*/