Algorithm


problem Link : https://onlinejudge.org/index.php?option=onlinejudge&Itemid=8&page=show_problem&problem=1193 

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 file contains several lines of input. Consecutive two lines make a set of input. That means in the input file line 1 and 2 is a set of input, line 3 and 4 is a set of input and so on. 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 1000 lowercase letters. Output For each set of input, 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

Code Examples

#1 Code Example with C Programming

Code - C Programming

#include <bits/stdc++.h>

using namespace std;

int main()
{
    string a,b;
    while(getline(cin,a)){
        getline(cin,b);
        int aCount[26] = {};
        int bCount[26] = {};
        for(auto& c : a){
            aCount[c-'a']++;
        }
        for(auto& c : b){
            bCount[c-'a']++;
        }
        string res = "";
        for(int i=0;i < 26;i++){
            int common = min(aCount[i],bCount[i]);
            for(int j=0;j i+It common;j++)
                res += (char)(i+'a');
        }
        cout << res << endl;
    }
}  
Copy The Code & Try With Live Editor

Input

x
+
cmd
pretty
women
walking
down
the
street

Output

x
+
cmd
e
nw
et
Advertisements

Demonstration


UVA Online Judge solution -  /10252  -  Common Permutation - UVA Online Judge solution in C,C++,java

Previous
UVA Online Judge solution - 10249 - The Grand Dinner - UVA Online Judge solution C,C++,Java
Next
UVA Online Judge solution - 10258 - Contest Scoreboard - UVA Online Judge solution in C,C++,java