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<iostream>
#include<string>
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;
}
}
JustWannaHugU
相关分类