求调 必关
查看原帖
求调 必关
1488620
ALLAN7746楼主2025/6/24 19:53
#include <iostream>
#include <cmath>
#include <string>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <list>
#include <map>
using namespace std;
string a[105],b[105];
int main()
{
    int n;
    cin >> n;
    for(int i = 1;i <= n;i++)
    {
    	cin >> a[i] >> b[i];
    }
    string s,sl = "",ans = "";
    cin >> s;
    for(int i = 0;i <= s.size()-1;i++)
    {
    	if(!('a' <= s[i] && s[i] <= 'z'))
    	{
    		for(int j = 1;j <= n;j++)
    		{
    			if(sl == a[j])
    			{
    				ans += b[j];
    				sl = "";
    				break;
    			}
    		}
    		if(sl != "") ans += "UNK";
    		ans += s[i];
    	}
    	else sl+=s[i];
    }
    for(int j = 1;j <= n;j++)
    {
    	if(sl == a[j])
    	{
    		ans += b[j];
    		sl = "";
    		break;
    	}
    }
    if(sl != "")
    {
    	ans += "UNK";
    }
    cout << ans;
    return 0;
}
2025/6/24 19:53
加载中...