- 题解
dzioufhsxiugds dhsv gdsfdg
- @ 2026-11-3 16:00:52
#include #include #include // abs using namespace std;
bool check(string a, string b) { int la = a.size(); int lb = b.size(); // 长度差超过1,直接不满足 if (abs(la - lb) > 1) return false;
int i = 0, j = 0;
int cnt = 0; // 记录不同的次数
while (i < la && j < lb)
{
if (a[i] == b[j])
{
i++;
j++;
}
else
{
cnt++;
if (cnt > 1)
return false;
if (la > lb)
i++; // 删除a当前字符
else if (lb > la)
j++; // 删除b当前字符(等价a插入)
else
{
// 长度相等,修改
i++;
j++;
}
}
}
// 加上剩下的字符数量
cnt += la - i;
cnt += lb - j;
return cnt <= 1;
}
int main() { int T; cin >> T; while (T--) { string A, B; cin >> A >> B; if (check(A, B)) { cout << "similar" << endl; } else { cout << "not similar" << endl; } } return 0; }
0 条评论
目前还没有评论...