80分求助(必关)
查看原帖
80分求助(必关)
1363161
haoyiran2013楼主2024/9/13 18:56
#include <bits/stdc++.h>
using namespace std;

struct word {
	string word;
	int idx;
} a[101], b[101];

int main() {
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i].word >> b[i].word;
		a[i].idx = i;
		b[i].idx = i;
	}
	string s, s2 = "", w = "";
	cin >> s;
	s += ' ';
	bool is = 0, is2 = 0;
	for (int i = 0; i < s.length(); i++) {
		if (s[i] >= 'a' && s[i] <= 'z') {
			w += s[i];
		} else {
			is = 0;
			for (int j = 1; j <= n; j++) {
				if (w == a[j].word) {
					is = 1;
					w = b[j].word;
				}
			}
			if (is)
				s2 += w;
			else if (w != "")
				s2 += "UNK";
			if (s[i] <= 'a' || s[i] >= 'z') {
				s2 += s[i];
			}
			w = "";
			is2 = 0;
		}
	}
	for (int i = 0; i < s2.length() - 1; i++) {
		cout << s2[i];
	}
	return 0;
}
2024/9/13 18:56
加载中...