作业介绍

课程代码

#include <bits/stdc++.h>
using namespace std;


//  //队列  
// queue<int> q;    //创建一个队列
// q.push(x);   //把x转入到队尾
// q.front();  //获取队首
// q.back();   //获取队尾
// q.size();   //获取元素个数
// q.pop();   //删除队首
// q.empty();   //如果空,返回1,否则返回0

// stack<int> s;   //栈
// s.push(x);   //把x压入栈
// s.top();  //获取栈顶
// s.size();   //获取元素个数
// s.pop();   //删除栈顶
// s.empty()   //如果空,返回1,否则返回0

// int a[105];
// vector<int> v;
// set<int> s;   //集合
int main() {
    // // v.push_back(x);   //把x存入到v的最后
    // for(int i=1; i<=5; i++) v.push_back(i);
    // // for(auto x : v) cout << x << " ";
    // cout << v.size();   //获取v的元素个数
    // // cout << v[2] << endl;

    // set<int> s;  //创建一个集合
    // s.insert(x); //往s中插入x,并排好序:从小到大,并且去重
    // s.size();    //获取到集合的元素个数
    // s.clear();   //清空集合

    // for(int i=1; i<=5; i++){
    //     int x;
    //     cin >> x;
    //     s.insert(x);
    // }
    // cout << s.size() << endl;
    // for(auto x : s) cout << x << " ";
    // freopen("random.in", "r", stdin);
    // freopen("random.out", "w", stdout);
    // int n;
    // cin >> n;
    // set<int> s;
    // for(int i=1; i<=n; i++){
    //     int x;
    //     cin >> x;
    //     s.insert(x);
    // }
    // cout << s.size() << endl;
    // for(auto x : s) cout << x << " ";

    // map<int, int> m;   //键值对map<键, 值> m;  1:4  2:4   3:10
    // m.count(x);  //如果有键x,那么返回1,否则返回0
    // cin >> n >> c;
    // for(int i=1; i<=n; i++){
    //     scanf("%d", &a[i]);
    //     m[a[i]]++;    //记录a[i]出现的次数
    //     a[i] -= c;    //此时a[i]表示的是第i个数字对应的B
    // }
    // long long cnt = 0;
    // for(int i=1; i<=n; i++) cnt += m[a[i]];
    // cout << cnt;


    map<string, string> m;   //A单词对应一个B单词
    int n;
    cin >> n;
    for(int i=1; i<=n; i++){
        string s1, s2;
        cin >> s1 >> s2;
        m[s1] = s2;   //让A国的单词s1对应B国的单词s2
    }

    string s;   //完整输入的这句话
    cin >> s;
    string tmp;  //用来记录每一个单词
    for(int i=0; s[i]; i++){
        if(s[i] >= 'a' && s[i] <='z') tmp += s[i];
        else{   //说明s[i]是一个符号,不是字母
            if(s[i-1]>='a' && s[i-1]<='z'){
                //如果tmp出现过
                if(m.count(tmp)) cout << m[tmp];
                //没有tmp
                else cout << "UNK";
            }
            cout << s[i];
            tmp = "";
        }   
    }
    if(m.count(tmp)) cout << m[tmp];
    //没有tmp
    else cout << "UNK";
    return 0;
}
状态
已结束
题目
6
开始时间
2024-3-30 0:00
截止时间
2024-4-6 23:59
可延期
24 小时