题解
2025-06-19 16:22:11
发布于:上海
3阅读
0回复
0点赞
题解来啦
全题第一篇题解
/*
作者版权:Question Mark
严禁复制直接使用!
严禁复制直接使用!
严禁复制直接使用!
重要的事情说三遍!
*/
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
//输入
cin>>n;
string a[n+114514],b[n+114514];
for(int i=1; i<=n; i++){
cin>>a[i]>>b[i];
}
//输入字符串
string str,j;
cin>>str;
string APT;
for(int i=0;i<str.size(); i++){
//如果不是字母(既是符号)
if(!(str[i]>='a'&&str[i]<='z')){
int flag=0;
for(int k=1; k<=n; k++){
if(j==a[k]){
//加入
APT+=b[k];
flag=1;
break;
}
}
//不存在加"UNK"
if(flag==0&&j.size()) {
APT+="UNK";
}
APT+=str[i];
j.clear();
}
else j+=str[i];
}
//剩下的自己想😎
if(j.size()){
int flag=0;
for(int k=1; k<=n; k++){
if(j==a[k]){
APT+=b[k];
flag=1;
break;
}
}
if(flag==0) {
APT+="UNK";
}
}
//输出
cout<<APT<<endl;
return 0;
}
这里空空如也
有帮助,赞一个