有点小难
2026-06-26 21:00:59
发布于:江苏
16阅读
0回复
0点赞
这题前前后后用了我1个小时。
好在最后也是解出来了。
直接上代码
#include<bits/stdc++.h>
using namespace std;
int n;
struct zidianstruc {
string Alangue,Blangue;
}zidian[105];
string a,ans;
int cnt;
int main()
{
cin >> n;
for(int i = 1;i <= n;i ++)
{
cin >> zidian[i].Alangue >> zidian[i].Blangue;
}
cin >> a;
string words = "";
for(int i = 0;i < a.size() ;i ++){
if(a[i] >= 'a'&&a[i] <= 'z'){
words += a[i];
}
else {
int flag = 1;
for(int j = 1;j <= n;j ++)
{
if(words == zidian[j].Alangue)
{
cout << zidian[j].Blangue ;
flag = 0;
break;
}
}
if(flag && a[i-1] >= 'a'&&a[i-1] <= 'z') cout << "UNK";
cout << a[i] ;
words = "";
}
}
if( words != "")
{
int flag = 1;
for(int j = 1;j <= n;j ++)
{
if(words == zidian[j].Alangue)
{
cout << zidian[j].Blangue ;
flag = 0;
break;
}
}
if(flag) cout << "UNK";
}
return 0;
}
用了结构体来存字典,又一边输入一边判断。
如果有用,请给一个大大的赞!
这里空空如也


有帮助,赞一个