# 官方题解 | 欢乐赛#66题解
2026-02-10 16:25:56
发布于:浙江
官方题解 | 欢乐赛#66题解
赛纲介绍
本次题目的总体题目难度如下,各位选手可以借此评估一下自身的技术水平
| 题目编号 | 题目名称 | 题目难度 |
|---|---|---|
| T1 | 皓仔的菱形 | 入门 |
| T2 | 皓仔和水煮蛋 | 入门 |
| T3 | 皓仔滑雪 | 入门 |
| T4 | 皓仔的宝箱清点 | 入门 |
| T5 | 皓仔的不降数 | 普及- |
| T6 | 皓仔的水果筛选3 | 普及- |
T1 皓仔的菱形
题目大意
输出 行字符串,构成一个菱形。
题解思路
直接使用 cout 进行输出即可, 每一行结束使用 endl 换行。
参考代码
#include <iostream>
using namespace std;
int main()
{
cout << " *" << endl;
cout << " ***" << endl;
cout << "*****" << endl;
cout << " ***" << endl;
cout << " *" << endl;
return 0;
}
T2 皓仔和水煮蛋
题目大意
分支结构练习题,水煮蛋的黄金时间是 分 秒, 现在一颗蛋已经煮了 秒,按照题目的要求进行判断并且输出, 规则如下:
1、如果还未煮 分 秒,则告诉皓仔还需要经过 秒才可以得到一颗标准的溏心蛋, 输出数字 。
2、如果恰好煮了 分 秒, 输出 perfect。
3、如果时间超出 分 秒, 输出 overcooked。
题解思路
按照题目思路编写多分支代码,为了方便的判断当前的蛋煮的时间是不足,恰好或是时间超出, 可以将目标时间 分 秒 转化成秒数 秒。 而后进行判定, 当时间不足 秒时, 输出剩余时间 秒, 时间恰好时输出 perfect, 当时间超过 秒后, 输出 overcooked。
参考代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int x;
cin >> x;
if(x == 390)
cout << "perfect";
else if(x < 390)
cout << 390 - x;
else
cout << "overcooked";
return 0;
}
T3 皓仔滑雪
题目大意
皓仔想要去山上滑雪,滑雪的线路要求是一个单调不升序列:沿途高度始终不上升(后一个高度不大于前一个高度)。
现在给定一段路线的高度序列,请你判断这段路线是否单调不升
题解思路
题目要求整个数组单调不升,也就是说对于所有的 , 都满足 , 因此可以遍历 到 , 如果有数字 不满足 , 可以直接输出 NO, 并且结束程序。 如果所有数字都符合要求则输出 YES。
参考代码
#include<bits/stdc++.h>
using namespace std;
const int N = 100005;
int n,a[N];
int main(){
cin >> n;
for(int i = 1;i <= n;i ++) cin >> a[i];
for(int i = 2;i <= n;i ++)
if(a[i] > a[i - 1]){
cout << "NO";
return 0;
}
cout << "YES";
return 0;
}
T4 皓仔的宝箱清点
题目大意
在一张 地图上,每个点都对应一个奖品价值, 并且还对应一个字符,当该点字符为 A 时, 可以获取该点的奖品价值。 问整个地图中所有可获取的奖品总价值是多少?
题解思路
定义两个二维数组分别输入,其中字符网格使用字符数组 ,价值网格使用整数数组 。遍历整个二维矩阵中的所有点, 当 $a_{ij} == $ A 时,令答案加上该点的价值 , 最后输出总答案。
参考代码
#include <iostream>
using namespace std;
const int N= 1e3+10;
char a[N][N];
int p[N][N];
int main(){
int n,m;cin >> n>>m;
for(int i =1;i<=n;i++){
for(int j = 1;j<=m;j++){
cin >> a[i][j];
}
}
long long sum = 0;
for(int i=1;i<=n;i++){
for(int j =1;j<=m;j++){
cin >> p[i][j];
if(a[i][j] =='A'){
sum += p[i][j];
}
}
}
cout << sum;
return 0;
}
T5 皓仔的不降数
题目大意
当一个数字从高位到低位数字单调不降的情况下,该数字为 不降数。
现在给定一个数字 , 请问在 范围内一共有多少个 不降数。
题解思路
从 到 枚举所有数字,并且判定该数字是否是不降数。对于一个数字的判定,需要进行数位分解将其各个数位拆分出来,而后进行判断是否是一个不降数。每当出现一个不降数,答案加一,最后输出总体的答案。
参考代码
#include <bits/stdc++.h>
using namespace std;
bool check(int x)
{
int last = 1e9;
while (x)
{
if (x % 10 > last) return false;
last = x % 10;
x /= 10;
}
return true;
}
int main()
{
int n;
cin >> n;
int res = 0;
for (int i = 1; i <= n; i++)
if (check(i))
res++;
cout << res << endl;
return 0;
}
T6 皓仔的水果筛选3
题目大意
给定一个 个苹果,可以选择一批最大重量和最小重量差值不超过 的苹果一起打包出售, 问最多一次可以出售多少个苹果。
题解思路
本题可以采用双指针来进行解题, 首先对数组进行排序(复杂度 ),排序之后苹果的重量单调不降。 可以设定 指针指向当前最小的苹果的重量, 在 不超过 的情况下,使用最大的 , 指向当前选择的最大的苹果的重量。 当 变大向后移动的时候, 也同样向后移动 , 每次可以选择的苹果数量为 ,在所有答案里面选择最大值并且输出。
参考代码
#include <bits/stdc++.h>
using namespace std;
int a[1000010], ans;
int main()
{
int n, m;
cin >> n >> m;
for(int i = 1; i <= n; i++) cin >> a[i];
sort(a + 1, a + 1 + n);
for(int i = 1, j = 1; i <= n; i++) {
while(j < n && a[j + 1] - a[i] <= m) j++;
ans = max(ans, j - i + 1);
}
cout << ans << endl;
return 0;
}
全部评论 32
Stars_Seeker nb
4天前 来自 浙江
11Stars_Seeker sb
2天前 来自 重庆
6Stars_Seeker sb
2天前 来自 浙江
6(
2天前 来自 重庆
6
hh
4天前 来自 浙江
8hh
4天前 来自 浙江
5hh
昨天 来自 浙江
1hh
16小时前 来自 浙江
0
666
4天前 来自 广东
5666
4天前 来自 浙江
5666
16小时前 来自 浙江
0666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
16小时前 来自 浙江
0
qp
4天前 来自 江苏
5qpq
4天前 来自 浙江
5Qpqqpp
16小时前 来自 浙江
0
666
4天前 来自 上海
4666
2天前 来自 浙江
1666
16小时前 来自 浙江
0
666
4天前 来自 上海
4666
2天前 来自 浙江
1666不演了!
昨天 来自 浙江
1
666
4天前 来自 上海
4666
2天前 来自 浙江
2
qq
4天前 来自 上海
4qq
4天前 来自 浙江
4
666
4天前 来自 上海
3666
2天前 来自 浙江
1666
16小时前 来自 浙江
0
o
4天前 来自 上海
3o
2天前 来自 浙江
1
666
17小时前 来自 上海
1666
17小时前 来自 上海
1666
17小时前 来自 上海
1好厉害呀!
昨天 来自 浙江
1草,%%%楼主楼主你的个性签名又怎么回事
昨天 来自 广东
1帅哥你谁
昨天 来自 广东
1fghfghfgh
昨天 来自 浙江
1666
2天前 来自 江苏
1
2天前 来自 浙江
1ddd
3天前 来自 浙江
1
























































有帮助,赞一个