社区讨论
求助,符号似乎不输出
B3927[GESP202312 四级] 小杨的字典参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhjrmoa0
- 此快照首次捕获于
- 2025/11/04 07:22 4 个月前
- 此快照最后确认于
- 2025/11/04 07:22 4 个月前
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e2 + 7;
int n, j;
string s;
struct node{
string a;
string b;
}a[N];
int l(string t){
for(int i = 1; i <= n; i ++){
if(a[i].a == t) return i;
}
return 0;
}
void solve(){
cin >> n;
for(int i = 1; i <= n; i ++){
cin >> a[i].a >> a[i].b;
}
cin >> s;
for(int i = 0; i < s.size(); i ++){
string temp;
if(!(s[i] >= 'a' && s[i] <= 'z')){
cout << s[i];
continue;
}
for(j = i; j < s.size(); j ++){
if(!(s[j] >= 'a' && s[j] <= 'z')) break;
temp += s[j];
}
int where = l(temp);
if(where > 0) cout << a[where].b;
else cout << "UNK";
i = j;
}
}
signed main(){
solve();
return 0;
}
B3927 [GESP202312 四级] 小杨的字典
题目描述
在遥远的星球,有两个国家 A 国和 B 国,他们使用着不同的语言:A 语言和 B 语言。小杨是 B 国的翻译官,他的工作是将 A 语言的文章翻译成 B 语言的文章。
为了顺利完成工作,小杨制作了一本字典,里面记录了 个 A 语言单词对应的 B 语言单词,巧合的是,这些单词都
由地球上的 26 个小写英文字母组成。
小杨希望你写一个程序,帮助他根据这本字典翻译一段 A 语言文章。这段文章由标点符号
!()-.[].{}\|;:'",./?<> 和一些 A 语言单词构成,每个单词之间必定由至少一个标点符号分割,你的程序需要把这段话中的所有 A 语言单词替换成它的 B 语言翻译。特别地,如果遇到不在字典中的单词,请使用大写 UNK 来替换它。例如,小杨的字典中包含 个 A 语言单词
abc 和 d,它们的 B 语言翻译分别为 a 和 def,那么我们可以把 A 语言文章 abc.d.d.abc.abcd. 翻译成 B 语言文章 a.def.def.a.UNK. 其中,单词 abcd 不在词典内,因此我们需要使用 UNK 来替换它。输入格式
第一行一个整数 ,表示词典中的条目数。保证 。
接下来 行,每行两个用单个空格隔开的字符串 , ,分别表示字典中的一个 A 语言单词以及它对应的 B 语言翻译。保证所有 不重复;保证 和 的长度不超过 。
最后一行一个字符串 ,表示需要翻译的 A 语言文章。保证字符串 的长度不超过 ,保证字符串 只包含小写字母以及标点符号
!()-.[].{}\|;:'",./?<> 。输出格式
输出一行,表示翻译后的结果。
输入输出样例 #1
输入 #1
CPP2
abc a
d def
abc.d.d.abc.abcd
输出 #1
CPPa.def.def.a.UNK
输入输出样例 #2
输入 #2
CPP3
abc a
d def
abcd xxxx
abc,(d)d!-abc?abcd
输出 #2
CPPa,(def)def!-a?xxxx
输入输出样例 #3
输入 #3
CPP1
abcdefghij klmnopqrst
!()-[]{}\|;:'",./?<>abcdefghijklmnopqrstuvwxyz
输出 #3
CPP!()-[]{}\|;:'",./?<>UNK
回复
共 0 条回复,欢迎继续交流。
正在加载回复...