【蓝桥杯冲刺】蓝桥杯11届省赛C++b组真题-编程题

这篇具有很好参考价值的文章主要介绍了【蓝桥杯冲刺】蓝桥杯11届省赛C++b组真题-编程题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

试题F:成绩统计

解题思路:

代码:

试题G:回文日期

解题思路:

代码:

试题H:字串分值

解题思路:

代码:

 试题I:平面切分

解题思路:

代码:

试题J:字串排序

解题思路:

写在最后:


试题F:成绩统计

【问题描述】

小蓝给学生们组织了一场考试,卷面总分为 100 分,

每个学生的得分都是一个 0 到 100 的整数。

如果得分至少是 60 分,则称为及格。

如果得分至少为 85 分,则称为优秀。

请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。

【输入格式】

输入的第一行包含一个整数 n,表示考试人数。

接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

【输出格式】

输出两行,每行一个百分数,分别表示及格率和优秀率。

百分号前的部分四舍五入保留整数。

【样例输入】

7
80
92
56
74
88
100
0

【样例输出】

71%
43%

解题思路:

一道简单的模拟题,第一题细心点好好做,没啥问题。

代码:

#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;
	double a = 0, b = 0, score;
	for (int i = 0; i < n; i++) {
		cin >> score;
		if (score >= 60) a++;
		if (score >= 85) b++;
	}
    //%.0f能够自动四舍五入
	printf("%.0f%% %.0f%%", (a / n) * 100, (b / n) * 100);
	return 0;
}

试题G:回文日期

【问题描述】

2020 年春节期间,有一个特殊的日期引起了大家的注意:2020年2月2日。

因为如果将这个日期按 “yyyymmdd” 的格式写成一个8 位数是20200202,

恰好是一个回文数。我们称这样的日期是回文日期。

有人表示 20200202 是“千年一遇” 的特殊日子。

对此小明很不认同,因为不到2年之后就是下一个回文日期:20211202 即 2021年12月2日。

也有人表示 20200202 并不仅仅是一个回文日期,还是一个ABABBABA型的回文日期。

对此小明也不认同:

因为大约100 年后就能遇到下一个ABABBABA 型的回文日期:21211212 即 2121 年12 月12 日

算不上“千年一遇”,顶多算“千年两遇”。

给定一个 8 位数的日期,

请你计算该日期之后下一个回文日期和下一个ABABBABA型的回文日期各是哪一天。

【输入格式】

输入包含一个八位整数N,表示日期。

【输出格式】

输出两行,每行1 个八位数。

第一行表示下一个回文日期,

第二行表示下一个ABABBABA 型的回文日期。

【样例输入】

20200202

【样例输出】

20211202
21211212

【评测用例规模与约定】

对于所有评测用例,10000101 ≤ N ≤ 89991231,保证N 是一个合法日期的8位数表示。

解题思路:

这道题的思路是枚举之后的日期,然后判断他们是否符合题目要求。

根据数据返回,我们需要枚举1000~10000年。

代码:

#include <iostream>
using namespace std;

int mon[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

//20211202
bool check1(int date) {
	int year = date / 10000;
	int month = date / 100 % 100;
	int day = date % 100;

	if (month > 12) return false;

	if (month == 2 
	&& ((year % 4 == 0 && year % 100) || year % 400 == 0) 
	&& day > mon[month] + 1) return false;

	if (month != 2 && day > mon[month]) return false;

	return true;
}

//21211212
bool check2(int date) {
	int year = date / 10000;
	int month = date / 100 % 100;
	int day = date % 100;

	if (month > 12) return false;

	if (month == 2 
	&& ((year % 4 == 0 && year % 100) || year % 400 == 0) 
	&& day > mon[month] + 1) return false;

	if (month != 2 && day > mon[month]) return false;

	if (day != month) return false;

	return true;
}

int main() {
	int date1;
	cin >> date1;
	bool flag1 = false, flag2 = false;
	for (int i = 1000; i < 10000; i++) {
		int date = i, x = i;
		//将date翻转接上原来的date,就能让该日期变成一个回文串
		for (int i = 0; i < 4; i++) {
			date = date * 10 + x % 10;
			x /= 10;
		}
		//判断翻转之后该日期是否合法(题目第一个要求)
		if (!flag1 && date > date1 && check1(date)) {
			flag1 = true;
			cout << date << endl;
		}
		//判断翻转之后该日期是否合法以及是否是 ABABBABA 型
		if (!flag2 && date > date1 && check2(date)) {
			flag2 = true;
			cout << date << endl;
		}

		if (flag1 && flag2) break;
	}
	return 0;
}

试题H:字串分值

【问题描述】

对于一个字符串 S,我们定义 S 的分值 f (S) 为 S 中出现的不同的字符个数。

例如 f ( ”aba” ) = 2, f ( ”abc” ) = 3,  f ( ”aaa” ) = 1。

现在给定一个字符串 S [0..n − 1](长度为 n),

请你计算对于所有 S 的非空子串 S [ i..j ] (0 ≤ i ≤ j < n), f (S [ i..j ]) 的和是多少

【输入格式】

输入一行包含一个由小写字母组成的字符串S。

【输出格式】

输出一个整数表示答案。

【样例输入】

ababc

【样例输出】

28

【样例说明】

子串    f值
a        1
ab       2
aba      2
abab     2
ababc    3
 b       1
 ba		 2
 bab	 2
 babc 	 3
   a	 1
   ab	 2
   abc	 3
    b	 1
    bc	 2
     c	 1

【评测用例规模与约定】

对于20% 的评测用例,1 ≤ n ≤ 10;

对于40% 的评测用例,1 ≤ n ≤ 100;

对于50% 的评测用例,1 ≤ n ≤ 1000;

对于60% 的评测用例,1 ≤ n ≤ 10000;

对于所有评测用例,1 ≤ n ≤ 100000。

解题思路:

这里我用的思路是利用STL里面,

set的特性,set能够自动帮我们去重,

那我们只需要枚举字符串,然后计数就行了。

代码:

#include <iostream>
#include <string>
#include <set>;
using namespace std;

int main() {
	string s;
	cin >> s;
	int sum = 0;
	for (int i = 0; i < s.size(); i++) {
		set<char> p;
		for (int j = i; j < s.size(); j++) {
			p.insert(s[j]);
			sum += p.size();//去重之后的size就是字母的种类
		}
	}
	cout << sum << endl;
	return 0;
}

 试题I:平面切分

【问题描述】

平面上有 N 条直线,其中第 i 条直线是 y = Ai · x + Bi。

请计算这些直线将平面分成了几个部分。

【输入格式】

第一行包含一个整数 N。

以下 N 行,每行包含两个整数 Ai;  Bi。

【输出格式】

一个整数代表答案。

【样例输入】

3
1 1
2 2
3 3

【样例输出】

6

【评测用例规模与约定】

对于 50% 的评测用例, 1 ≤ N ≤ 4,  −10 ≤ Ai;  Bi ≤ 10。

对于所有评测用例, 1 ≤ N ≤ 1000,  −100000 ≤ Ai;  Bi ≤ 100000。

解题思路:

数学学渣表示真的做不出来。。。呜呜呜。。。

代码:

代码参考:

#include <bits/stdc++.h>

using namespace std;
typedef long long LL;

using namespace std;
const int N = 100010;
string s;
int pre[N],ne[N];
int a[27];

int main()
{
	cin >>s;
	s = "0" + s;
	
	//获取字符串长度
	int len = s.length();
	
	//有步初始化,我直接声明的全局变量,是可以不用的,为了和后面操作想呼应,就写完整吧
	for(int i = 0; i < 27;i++) a[i] = 0;
	
	//找前一个相同字符的下标
	for(int i = 1; i < len;i++)
	{
		//将'a'变成偏移量,获得
		int index = s[i] - 'a';
		pre[i] = a[index];
		a[index] = i;
	}
	
	
	for(int i = 0; i < 27;i++) a[i] = len;
	
	//找下一个相同字符的下标
	for(int i = len - 1; i >= 1;i--)
	{
		int index = s[i] - 'a';
		ne[i] = a[index];
		a[index] = i;
	}
	
	LL ans = 0;
	
	for(int i = 1; i <len;i++)
		ans += (LL)(i - pre[i]) * (ne[i] - i);
		
	cout << ans << endl;
	
	return 0;
}

试题J:字串排序

解题思路:

别看啦,我连上一题都做不出来,

这题当然也做不出来。。。

【蓝桥杯冲刺】蓝桥杯11届省赛C++b组真题-编程题

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果喜欢本文的话,欢迎点赞和评论,写下你的见解。

如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。

之后我还会输出更多高质量内容,欢迎收看。 文章来源地址https://www.toymoban.com/news/detail-434589.html

到了这里,关于【蓝桥杯冲刺】蓝桥杯11届省赛C++b组真题-编程题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯单片机14届记录 + 6-13届省赛代码+试题

    客观题 01. 一个 8 位的 DAC 转换器,供电电压为 3.3V,参考电压 2.4V,其 1LSB 产生的输出电 压增量是( )V。 A. 0.0129 B. 0.0047 C. 0.0064 D. 0.0094  02. IAP15F2K61S2 单片机支持通过哪些接口进行在线调试( )。 A. SPI B. UART C. I2C D. JTAG  03. 下列电路中属于时序逻辑电路的是( )。 A. 计数

    2024年02月06日
    浏览(30)
  • 第十三届省赛蓝桥杯物联网程序设计试题

    1、配置根据试题的要求配置STM32CubeMX (1)引脚配置 将PC14引脚配置为输入模式 PC14 用户按键引脚 将PA10引脚配置为中断模式 PA10 LoRa模块DIO0引脚 将以下引脚配置为输出模式 PC15 用户LED引脚 PB5 OLED 电源控制引脚 PA11和PA12 继电器控制引脚 PA4和PA9 LoRa模块片选和复位引脚,初始为高电

    2023年04月10日
    浏览(31)
  • 【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题,真题分析与代码讲解

    🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都在这儿哦,欢迎大家前往订阅本专题,获取更多详细信息哦🎏 🎏【蓝桥杯嵌入式】蓝桥杯第十届省赛真题 🎏【蓝桥杯嵌入式】蓝桥杯第十三届省赛程序真题 🪔本系列专栏 -  

    2023年04月15日
    浏览(38)
  • 2022蓝桥杯冲刺(历年真题剖析,含省赛、国赛)

    大家好,我是莫若心,为了帮助兄弟们更好准备蓝桥杯比赛,我特意选取了蓝桥往年真题中许多能体现出蓝桥经典题型的题目,有需要的兄弟们可以收藏一下,后续我会继续更新蓝桥真题题型专栏,和大家一起冲击蓝桥杯 附上蓝桥杯官网地址:蓝桥杯官网 🚩🚩 题目如下 观

    2023年04月08日
    浏览(33)
  • 蓝桥杯2023年第十四届省赛真题-平方差--题解

    时间限制: 3s 内存限制: 320MB 提交: 2379 解决: 469 给定 L, R,问 L ≤ x ≤ R 中有多少个数 x 满足存在整数 y,z 使得 x = y2 − z2。 输入一行包含两个整数 L, R,用一个空格分隔。 输出一行包含一个整数满足题目给定条件的 x 的数量。 复制 复制 1 = 1^2 − 0^2 ; 3 = 2^2 − 1^2 ; 4 =

    2024年02月07日
    浏览(37)
  • 【蓝桥杯嵌入式】蓝桥杯嵌入式第十四届省赛程序真题,真题分析与代码讲解

     🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都已更新完毕,欢迎大家前往订阅本专题🎏 🎏【蓝桥杯嵌入式】蓝桥杯第十届省赛真题 🎏【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题 🎏【蓝桥杯嵌入式】蓝桥杯第十三届省

    2023年04月15日
    浏览(59)
  • 蓝桥杯2023年第十四届省赛真题-买瓜--C语言题解

    目录 蓝桥杯2023年第十四届省赛真题-买瓜 题目描述 输入格式 输出格式 样例输入 样例输出 提示 【思路解析】 【代码实现】 时间限制: 3s 内存限制: 320MB 提交: 796 解决: 69 小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个瓜,每个瓜的重量为 Ai 。 小蓝刀功了得,他可以把任何瓜

    2024年02月07日
    浏览(35)
  • 题目 3158: 蓝桥杯2023年第十四届省赛真题-三国游戏(贪心)

    小蓝正在玩一款游戏。游戏中魏蜀吴三个国家各自拥有一定数量的士兵X, Y, Z (一开始可以认为都为 0 )。游戏有 n 个可能会发生的事件,每个事件之间相互独立且最多只会发生一次,当第 i 个事件发生时会分别让 X, Y, Z 增加Ai , Bi ,Ci 。 当游戏结束时 (所有事件的发生与否已经确

    2024年02月01日
    浏览(38)
  • 题目3180:蓝桥杯2023年第十四届省赛真题-互质数的个数======及探讨互质专题

    https://www.dotcpp.com/oj/problem3162.html 已AC。 (1)首先大家要知道什么叫互质: 以及它们的性质: 在数论中,对正整数n,欧拉函数φ(n)是小于或等于n的正整数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)或是欧拉总计函数(totient fu

    2023年04月24日
    浏览(31)
  • 蓝桥杯试题 历届真题 砝码称重【第十二届】【java省赛】

              使用java中的 Set 子接口 ,其特点是元素无序,并且不可重复。         在遍历set集合的同时修改元素会抛出java.util.ConcurrentModificationException并发修改异常  

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包