20分求调
查看原帖
20分求调
1082700
13783521740cy楼主2025/1/24 00:00
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define dd double
int n,be;
string s,s1[1005],s2[1005],t="UNK";
bool p(char x){
	if(x>='a'&&x<='z')return 1;
	return 0;
}
string f(string x){
	for(int i=1;i<=n;i++)
		if(x==s1[i])return s2[i];
	return t;
}
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>s1[i]>>s2[i];
	cin>>s;
	s+='%';
	be=0;
	for(int i=0;i<s.size();i++){
//		cout<<i<<":"<<be<<endl;
		if(!p(s[i])){
			if(i!=0&&!p(s[i-1])){
				cout<<s[i];
				be=i+1;
				continue;
			}
			string x=s.substr(be,i-be);
//			cout<<i<<":"<<x<<endl;;
			if(x.size()!=0)cout<<f(x);
			be=i+1;
			if(s[i]!='%')cout<<s[i];
		}
	}
	return 0;
}



2025/1/24 00:00
加载中...