#include<bits/stdc++.h> using namespace std; #define N 26 #define M 1005 int min(int a,int b) { return a>b?b:a; } int main() { int n[N]; int v[N]; // string Dragon_a,Dragon_b; char Dragon_a[M],Dragon_b[M]; while(cin.getline(Dragon_a,M)) { cin.getline(Dragon_b,M); memset(n,0,sizeof(int)*N); memset(v,0,sizeof(int)*N); //Dragon_a.length() for(int i=0;i<strlen(Dragon_a);i++) { if(Dragon_a[i]>='a'&&Dragon_a[i]<='z') n[Dragon_a[i]-'a']++; } for(int i=0;i<strlen(Dragon_b);i++) { if(Dragon_b[i]>='a'&&Dragon_a[i]<='z') v[Dragon_b[i]-'a']++; } for(int i=0;i<N;i++) { int mini=0; mini = min(n[i],v[i]); if(mini>1) { for(int j=0;j<mini;j++){ char s='a'+i; cout<<s; } } else if(n[i]>0&&v[i]>0){ char s='a'+i; cout<<s; } } cout<<endl; } return 0; } |
Double click to view unformatted code.