欢乐赛#39全题解!!!
2025-01-20 16:03:18
发布于:上海
第二次写欢乐赛全题解,请多谅解!!!(终于有时间写了)
T1
题目
直接输出即可,将mod用%替代即可,不过其实114514%1919810=114514;
Python题解
print(114514+1919810%114514)
C++题解
#include<iostream>
using namespace std;
int main(){
cout<<114514+1919810%114514;
return 0;
}
T2
题目
利用pow函数计算n次方,但要注意结果强制转换为int类型,否则就会出现1.04858e+06这种结果。
(别忘了不开long long见祖宗)
当然用循环来做也行。
#include <bits/stdc++.h>
using namespace std;
int main(){
long long a;
cin>>a;
cout<<int(pow(2,a));
return 0;
}
T3
题目
先自定义一个都为0的bool数组,根据操作要求将部分转为1,再次遍历计算1的数量。
#include<iostream>
using namespace std;
int main(){
int n,m,a[200005],sum=0;
bool b[200005]={0};
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
if(b[a[i]]==0)b[a[i]]=1;
else b[a[i]+1]=1;
}
for(int i=1;i<=200005;i++){
sum+=b[i];
}
cout<<sum;
return 0;
}
T4
题目
(我个人认为这道题算这次欢乐赛中最难的题了。)
要用到数学中重要的分类讨论的思想。
首先将三个数排序,再寻找规律。不难看出与最大的数和另外两数之差有关系。
先通过操作二对较小的两数直至一数与最大数相同,再分类讨论。
如果现在最小的数与最大的数差为偶数,则步数直接加上差/2。(通过操作一)
为奇数加上差/2后会变为n-1,n,n,此时只需要再加2步即可。(一+二)
#include <bits/stdc++.h>
using namespace std;
int main(){
int t;cin>>t;
for(int i=1;i<=t;i++){
int a[4],x=0,y=0;
cin>>a[1]>>a[2]>>a[3];
sort(a+1,a+4);
x=a[3]-a[1];y=a[3]-a[2];
if((x+y)%2==1) cout<<(x+y)/2+2;
else cout<<(x+y)/2;
cout<<endl;
}
return 0;
}
T5
题目
肯定不能直接暴力做,我的做法是边输入边更新数组内最大的值,再进行比较即可。
#include<iostream>
using namespace std;
int main(){
int n,max=0,a,sum=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a;
if(a>=max) {max=a;sum++;}
}
cout<<sum;
return 0;
}
T6
题目
普通的模拟题,只要注意一场赢一场平,最终也能取胜即可。
(注意第一回合和第二回合反过来也算不同情况)
#include<iostream>
using namespace std;
int main(){
int n,a,b,c,d;
cin>>n;
for(int i=1;i<=n;i++){
int sum=0;
cin>>a>>b>>c>>d;
if(a>=c&&b>d)sum++;
else if(a>c&&b>=d)sum++;
if(a>=d&&b>c)sum++;
else if(a>d&&b>=c)sum++;
cout<<sum*2<<endl;
}
return 0;
}
点个赞吧,谢谢!!!
全部评论 51
顶
11小时前 来自 上海
1顶
11小时前 来自 上海
1顶
11小时前 来自 上海
1顶
11小时前 来自 上海
1顶
11小时前 来自 上海
1顶
11小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶
12小时前 来自 上海
1顶·
12小时前 来自 上海
1顶
12小时前 来自 上海
1
有帮助,赞一个