View Code of Problem 2591

#include<iostream>
#include<string>
#include<cstring>
#include<vector>
#include<iomanip>
#include<cstring>
using namespace std;
int main()
{
	int t;
	cin >> t;
	int num1[26];
	int num2[26];
	while (t--)
	{
		int flag = 0;
		memset(num1, 0, sizeof(num1));
		memset(num2, 0, sizeof(num2));
		string s1, s2;
		cin >> s1 >> s2;
		for (int i = 0;i < s1.size();i++)
		{
			num1[s1[i] - 'A']++;
		}
		for (int i = 0;i < s2.size();i++)
		{
			num2[s2[i] - 'A']++;
		}
		for (int i = 0;i < 26;i++)
		{
			while (num1[i] != 0 && num2[i] != 0)
			{
				flag = 1;
				char z = i + 'A';
				cout << z;
				num2[i]--;
				num1[i]--;
			}
		}
		if (flag == 0)
			cout << -1 ;
		cout << endl;
	}

}

Double click to view unformatted code.


Back to problem 2591