社区讨论

0分求条

B3958[GESP202403 四级] 相似字符串参与者 3已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@mmfzmtem
此快照首次捕获于
2026/03/07 15:14
18 小时前
此快照最后确认于
2026/03/07 18:36
14 小时前
查看原帖
样例过了,提交上0分 求大佬调
CPP
#include <bits/stdc++.h>
using namespace std;

//'a' - 'A' = 32

int main() {
	string s1, s2;
	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int cnt = 0;
		cin >> s1 >> s2;
		for (int j = 0; j < s1.size(); j++) {
			if(s1[i] >= 'A' && s1[i] <= 'Z') {
				s1[i] -= 32;
			}
		}
		for (int j = 0; j < s2.size(); j++) {
			if(s2[i] >= 'A' && s2[i] <= 'Z') {
				s2[i] -= 32;
			}
		}
		for (int j = 0; j < min(s1.size(), s2.size()); j++) {
			if(s1[j] != s2[j]){
				s1.erase(std::remove(s1.begin(), s1.end(), 'b'), s1.end());
				s2.erase(std::remove(s2.begin(), s2.end(), 'b'), s2.end());
			}
		}
		if(s1 == s2) {
			cout << "similar";
			continue;
		}
		int len1 = s1.size(), len2 = s2.size();
		if(abs(len1 - len2) == 1 && cnt == 0) {
			cout << "similar";
		} else if(abs(len1 - len2) == 0 && cnt == 1) {
			cout << "similar";
		} else {
			cout << "not similar";
		}
		cout << endl;
	}
	
	return 0;
}

回复

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

正在加载回复...