社区讨论
B3958求调
灌水区参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @m0hv0g9g
- 此快照首次捕获于
- 2024/08/31 16:07 2 年前
- 此快照最后确认于
- 2024/08/31 19:34 2 年前
我同学做题时
CPP#include<bits/stdc++.h>
using namespace std;
int t,la,lb;
string a,b;
bool check(){
bool f=0;
if(abs(la-lb)>1)return 0;
for(int i=0;i<min(la,lb);i++){
if(la!=lb&&a[i]!=b[i])
if(a[i+1]!=b[i]&&a[i]!=b[i+1])return 0;
if(f==1&&a[i]!=b[i])return 0;
if(a[i]!=b[i])f=1;
}
return 1;
}
int main(){
ios::sync_with_stdio(0);
cin>>t;
while(t--){
cin>>a>>b;
la=a.size(),lb=b.size();
if(check())cout<<"similar\n";
else cout<<"not similar\n";
}
return 0;
}
因勤学好问,不愿重构
于是找我帮忙
CPP#include<bits/stdc++.h>
using namespace std;
#define ll long long
int n;
signed main(){
cin >> n;
while (n--){
string a , b;
cin >> a >> b;
int la = a.size();
int lb = b.size();
if (la < lb){
swap(a , b);
swap(la , lb);
}
if (abs(la - lb) > 1){
cout << "not similar" << endl;
continue;
}
else if (abs(la - lb) == 1){
int f = 0;
int ans = 0;
for (int i = 0 ; i < lb ; i++){
if(a[i] != b[i]){
ans = 1;
}
if (ans && a[i + 1] != b[i]){
cout << "not similar" << endl;
f = 1;
break;
}
}
if (!f){
cout << "similar" << endl;
}
}
else if (la == lb){
bool ans = 0;
bool f = 0;
for (int i = 0 ; i < lb ; i++){
if (a[i] != b[i]){
if (ans){
f = 1;
cout << "not similar" << endl;
break;
}
else {
ans = 1;
}
}
}
if (!f){
cout << "similar" << endl;
}
}
}
return 0;
}
然后我ac了...
由于ta只让我改check里的内容,
并且要像ta一样的结构!
回复
共 4 条回复,欢迎继续交流。
正在加载回复...