View Code of Problem 2591

#include<stdio.h>
#include<string.h>

int main()
{
	int t;
	scanf("%d",&t);


	
	while(t--)
	{
	char a[2000],b[2000];
	int num1[30],num2[30];
	int max,MAXLEN;
	int len1,len2;
	int i,j;
	int flag=0;

	
	scanf("%s",a);
	scanf("%s",b);

	len1=strlen(a);
	len2=strlen(b);

	memset(num1,0,sizeof(num1));
	memset(num2,0,sizeof(num2));



	for(i=0;i<len1;i++)
	{	
		j=a[i]-'A';
		num1[j]++;
		
	}

	for(i=0;i<len2;i++)
	{
		j=b[i]-'A';
	   	num2[j]++;
	}




	for(i=0;i<26;i++)
	{
		if(num1[i]!=0&&num2[i]!=0)
		{
			if(num1[i]<num2[i])
				max=num1[i];
			else
				max=num2[i];

			for(j=0;j<max;j++)
			{
			printf("%c",'A'+i);
			flag=1;
			
			}
		
		}
	
	}


	if(flag==0)
	{
		printf("-1");
		
	}

	
	printf("\n");
	

	}


	return 0;


}






Double click to view unformatted code.


Back to problem 2591