非官方全题解|五一欢乐赛#46
2025-05-06 18:34:45
发布于:广东
五一欢乐赛#46题解来咯!!
只是看到没什么人写这次的题解,所以勉强写一下吧!
前言
请大家多多支持一下本蒟蒻,点个赞吧!
温馨提示:这篇题解中的代码仅供参考,请大家独立思考,不要直接复制我的代码哦!
这次时间有点赶,没有非常详细,但也可以理解。
本次欢乐赛整体难度较为简单,考察知识点与难度如下:
| 题目编号 | 难度 | 考察知识点 | 
|---|---|---|
| T1 | 入门 | 输入输出 | 
| T2 | 入门 | 分支结构 | 
| T3 | 入门 | 循环结构 | 
| T4 | 入门 | sort排序 | 
| T5 | 普及- | 进制转换 | 
| T6 | 普及- | 深度优先搜索 | 
题解
T1:字典序最小
解析:没什么好说的,C,J,G 三个字母中最小的是C,直接输出。
Code
#include<bits/stdc++.h>
using namespace std;
int main()
{
	cout<<"C++"<<endl;
	return 0;
} 
T2:消息数量
解析:条件语句判断即可。
Code
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	if(n<=99) cout<<n<<endl;
	else cout<<"99+"<<endl;
	return 0;
 } 
T3:输出平方数
解析:for循环遍历1~n,每次输出i的平方。
Code
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++) cout<<i*i<<" ";
	return 0;
 } 
T4:激活密钥
解析:用sort排序将所有数进行排序,随后遍历并输出前m个数。
Code
#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b)
{
	return a>b;
}
int main()
{
	int n,m,a[1000005];
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>a[i];
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=m;i++) cout<<a[i]<<" ";
	return 0;
 } 
T5:揭示预言
解析:可以写代码进行进制转换,也可直接使用函数stoull将字符串转换为对应进制数的数。
注意:输入要用字符串!!!
Code
#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a,b;
	cin>>a>>b;
	long long s1=stoull(a,nullptr,8);
	long long s2=stoull(b,nullptr,2);
	long long ans=s1*s2;
	cout<<ans<<endl;
	return 0;
 } 
T6:不同的数
解析:深搜“选与不选”的模板题,加一个桶或者set 进行去重操作。(具体请看代码)
Code
#include<bits/stdc++.h>
using namespace std;
int t,n,m;
void dfs(int a[],int x,int cnt,int sum,set<int>&s)//x用来记录当前选到第几个数,cnt记录总共选了多少个数,sum表示当前所选数的总和。
{ 
    if(cnt==m)//选完m个数
	{
		s.insert(sum);
		return ;//回溯
	}
	if(x==n) return ; //选完了所有数(还没有选到m个),直接回溯
	dfs(a,x+1,cnt+1,sum+a[x],s);//选
	dfs(a,x+1,cnt,sum,s);//不选
}
int main()
{
	cin>>t;
	while(t--)//t次询问
	{
		cin>>n>>m;
		set<int>s;
		int a[25];
		for(int i=0;i<n;i++) cin>>a[i];
		dfs(a,0,0,0,s);
		cout<<s.size()<<endl;//看看set中有几个数(一定不同)
	}
	return 0;
} 
结语
总体来说,本次欢乐赛还是比较基础的,大家多打打代码,基本都能做对。
如有不理解的地方或写的不好的地方,欢迎在评论区留言。
最后的最后,AC君给个周边吧!!!!!






全部评论 6
顶
2025-05-06 来自 广东
1顶
2025-05-06 来自 广东
1顶
2025-05-06 来自 广东
1大家有什么疑问可以在这里提出哦!!
2025-05-06 来自 广东
1顶
2025-05-06 来自 广东
1顶
2025-05-06 来自 广东
1










有帮助,赞一个