Common permutation
Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KB
Total submit users: 1060, Accepted users: 951
Problem 10048 : No special judgement
Problem description
Given two strings of lowercase letters, a and b, print the longest string x of lowercase letters such that there is a permutation of x that is a subsequence of a and there is a permutation of x that is a subsequence of b.
Input
Input consists of pairs of lines. The first line of a pair contains a and the second contains b. Each string is on a separate line and consists of at most 1,000 lowercase letters.
Output
For each subsequent pair of input lines, output a line containing x. If several x satisfy the criteria above, choose the first one in alphabetical order.
Sample Input
pretty
women
walking
down
the
street
Sample Output
e
nw
et
Problem Source
UAL 1999
我的代码如下
#include
#include
using namespace std;
int main(){
string a,b;
while(cin>>a>>b){
int c[26]={0},d[26]={0};
int n1=a.length(),n2=b.length();
for(int i=0;i<n1;i++){
if(c[(int)a[i]-97]==0){
c[(int)a[i]-97]=1;
}
}
for(int i=0;i<n2;i++){
if(d[(int)b[i]-97]==0){
d[(int)b[i]-97]=1;
}
}
for(int i=0;i<26;i++){
if(c[i]!=0&&d[i]!=0)
cout<<char(i+97);
}
cout<<endl;
}
}
看错误信息:
Problem 10048 : No special judgement
Problem description
Given two strings of lowercase letters, a and b, print the longest string x of lowercase letters such that there is a permutation of x that is a subsequence of a and there is a permutation of x that is a subsequence of b