View Code of Problem 2591

#include<stdio.h>
#include<string.h>
#include<math.h>
#define MAX 1000000+10
#define Max(a,b) a>b?a:b
#define Min(a,b) a<b?a:b
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		char a[1000];
		char b[1000];
		char c[1000];
		scanf("%s%s",a,b);
		int i,j;
		int k=0;
		for(i=0;i<strlen(a);i++)
		{
			for(j=0;j<strlen(b);j++)
			{
				if(a[i]==b[j])
				{
					c[k++]=b[j];
					b[j]='*';
					break;
				}
			}
		}
		if(k==0) {
			printf("-1\n");
		}
		else{
			for(i=1;i<k;i++)
		{
			char t=c[i];
			for(j=i-1;j>=0&&c[j]>t;j--)
			{
				c[j+1]=c[j];
			}
			c[j+1]=t;
		}
		//for(i=0;i<k;i++)
		//{
			c[k]='\0';
			printf("%s\n",c);
		//}
		}
		
	}

}

Double click to view unformatted code.


Back to problem 2591