社区讨论
10分求调
B3958[GESP202403 四级] 相似字符串参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhja41rg
- 此快照首次捕获于
- 2025/11/03 23:12 4 个月前
- 此快照最后确认于
- 2025/11/03 23:12 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
bool f(string a, string b) {
if (a == b)
return true;
if (a.size() < b.size())
swap(a, b);
if (a.size() - b.size() > 1)
return false;
int i = 0, j = 0;
while (i < (int)a.size() && j < (int)b.size() && a[i] == b[j]) {
i++, j++;
}
if (i == (int)a.size() || j == (int)b.size())
return true;
a += "*", b += "*";
if (a.size() != b.size() && a[i + 1] == b[j])
i++;
else if (a.size() == b.size() && a[i + 1] == b[j + 1])
i++, j++;
while (i < (int)a.size() && j < (int)b.size()) {
if (a[i] != b[i])
return false;
i++, j++;
}
return true;
}
int main() {
int t;
cin >> t;
while (t--) {
string a, b;
cin >> a >> b;
if (f(a, b))
cout << "similar" << endl;
else
cout << "not similar" << endl;
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...