View Code of Problem 22

#include<stdio.h>
#include<string.h>
#define MAX 10000+10
#define Min(a,b) a<b?a:b
char a[MAX],b[MAX];
int A[26],B[26];
int n,m;
void write(int x,int y){
	int i;
	for(i=0;i<y;i++)
		printf("%c",x+'a');
	return ;
}
int main(){
	int i;
	while(~scanf("%s%s",a,b)){
		memset(A,0,sizeof(A));
		memset(B,0,sizeof(B));
		n=strlen(a);
		m=strlen(b);
		for(i=0;i<n;i++)A[a[i]-'a']++;
		for(i=0;i<m;i++)B[b[i]-'a']++;
		for(i=0;i<26;i++){
			write(i,Min(A[i],B[i]));
		}
		puts("");
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 22