社区讨论

70分,求调

B3927[GESP202312 四级] 小杨的字典参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhjo68sm
此快照首次捕获于
2025/11/04 05:46
4 个月前
此快照最后确认于
2025/11/04 05:46
4 个月前
查看原帖
我知道问题a,b,c都让我变成UNK,但不知道怎么写,试了好几次都错了
CPP
#include <bits/stdc++.h>
using namespace std;
struct stu {
	string word;
	int idx;
} a[102], b[102];
int main() {
	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> a[i].word >> b[i].word;
	}
	string s, s2 = "", w = "";
	cin >> s;
	s += ' ';
	bool is = 0;
	for (int i = 0; i < s.size(); 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;
					break;
				}
			}
			if (is)
				s2 += w;
			else if (w != "")
				s2 += "UNK";
			if (s[i] < 'a' || s[i] > 'z') {
				s2 += s[i];
			}
			w = "";
		}
	}
	cout << s2;
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...