ACGO第十八次欢乐赛题解
2024-04-02 18:58:23
发布于:浙江
本次竞赛难度较小,很多同学都AK了,下面我主要面对没有AK的同学给出题解
T1 小明的魔力球
传送门
此题非常简单,首先排序一遍,然后从头到尾找到最大值与最小值差值最小的m个数
:
#include<bits/stdc++.h>
using namespace std;
int a[55];
int main(){
int m,n;
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
int minn=10000;
for(int i=1;i<=n-m+1;i++){
if(a[i+m-1]-a[i]<minn) minn=a[i+m-1]-a[i];
}
cout<<minn;
return 0;
}
T2 特工小明
传送门
此题首先建立一个数组,储存每种字母的数量,然后遍历输入的序列,判断字母,增加数值
最后遍历储存的数组,计算字母的种类数
:
#include<bits/stdc++.h>
using namespace std;
char s[1010];
int a[30];
int main(){
fgets(s,1000,stdin);
memset(a,0,sizeof(a));
int len=strlen(s);
for(int i=0;i<=len-1;i++){
if(s[i]>=97&&s[i]<=122){
a[s[i]-96]++;
}
}
int t=0;
for(int i=1;i<=26;i++) if(a[i]!=0) t++;
cout<<t;
return 0;
}
T3 前行的拦截
传送门
此题遍历数组,找到最大值和最小值(如果有重复,找到与目标位最近的那一个),然后计算需要操作的数量
:
#include<bits/stdc++.h>
using namespace std;
int n,a[110],s=0;
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
int maxn=-1,maxm,minn=100000,minm;
for(int i=n;i>=1;i--){
if(a[i]>=maxn) {
maxn=a[i];
maxm=i;
}
}
s+=maxm-1;
for(int i=maxm;i>=2;i--){
swap(a[i],a[i-1]);
}
for(int i=1;i<=n;i++){
if(a[i]<=minn){
minn=a[i];
minm=i;
}
}
s+=n-minm;
for(int i=minm;i<=n-1;i++){
swap(a[i],a[i+1]);
}
cout<<s;
return 0;
}
T4 二进制运算异或
传送门
此题直接使用传统亦或即可
:
#include<bits/stdc++.h>
using namespace std;
int main() {
string a, b;
cin>>a>>b;
string result = "";
for (int i = 0; i < a.length(); ++i) {
if (a[i] == b[i]) {
result += "0";
} else {
result += "1";
}
}
cout << result << endl;
return 0;
}
T5 二进制运算异或
传送门
此题直接建立一个数组,储存每个同学收到的礼物是谁给的即可
:
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> gifts(n);
for (int i = 0; i < n; ++i) {
cin >> gifts[i];
}
vector<int> result(n);
for (int i = 0; i < n; ++i) {
result[gifts[i] - 1] = i + 1;
}
for (int i = 0; i < n; ++i) {
cout << result[i] << " ";
}
cout << endl;
return 0;
}
加入"中国”团队不过分吧
全部评论 6
顶
2024-04-04 来自 浙江
0顶
2024-04-04 来自 浙江
0AK?不是AC吗
2024-04-03 来自 浙江
0Ak指的是ac全部的题目
2024-04-03 来自 浙江
0对滴,AK指把比赛中所有题目都AC
2024-04-04 来自 浙江
0
顶
2024-04-03 来自 浙江
0d
2024-04-02 来自 浙江
0顶
2024-04-02 来自 浙江
0
有帮助,赞一个