View Code of Problem 2591

#include <string>
#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;

int main(){
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		string a,b;
		vector<char> vi; 
		cin>>a>>b;
		int alf[26]={0};//26个字母个数统计 
		for(int j=0;j<a.length();j++){
			int pos=a[j]-'A';
			alf[pos]++;
		} 
		
		for(int k=0;k<b.length();k++){
			int pos=b[k]-'A';
			if(alf[pos]!=0){
				alf[pos]--;
				vi.push_back(b[k]);
			}
		}
		int len=vi.size();
		if(len>0){
			sort(vi.begin(),vi.end());
			for(int k=0;k<len;k++){
				cout<<vi[k];
			}
			cout<<endl;
		}
		else{
			cout<<"-1"<<endl;
		}
		
		
		
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 2591