- C++
GESP 3月认证 C++ 1-4级打印版无答案
- 2024-7-11 10:05:49 @
4级的编程题:
相似字符串
#include <iostream>
#include <string>
using namespace std;
bool isSimilar(string A, string B) {
int m = A.size(), n = B.size();//求字符串的长度
if (abs(m - n) > 1) return false;
if (m == n) {
int diff = 0;
for (int i = 0; i < m; ++i) {
if (A[i] != B[i]) {
if (++diff > 1) return false;
}
}
return diff <= 1;
} else {
string& shorter = (m < n) ? A : B;
string& longer = (m < n) ? B : A;
int i = 0, j = 0;
int diff = 0;
while (i < shorter.size() && j < longer.size()) {
if (shorter[i] != longer[j]) {
if (++diff > 1) return false;
++j;
} else {
++i;
++j;
}
}
return true;
}
}
int main() {
int T;// 需要判断的组数
cin >> T;//输入
while (T--) { // 循环T次
string A, B; // 定义两个字符串
cin >> A >> B;
if (isSimilar(A, B)) {
cout << "similar" << endl;
} else {
cout << "not similar" << endl;
}
}
return 0;
}
做题
#include<bits/stdc++.h>
#define maxn 1000006
using namespace std;
long long a[maxn];int n;
int main()
{
int m,ans=0;
cin>>n;m=n;int s=1;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+n+1);
for(int j=1;j<=m;j++)
{
for(int k=s;k<=n;k++)
{
if(j<=a[k])
{
ans++;
a[k]=j;
s=k;
break;
}
}
}
cout<<ans;
return 0;
}
0 条评论
目前还没有评论...