第十二届蓝桥杯省赛详解

试题A:空间

 1B是8位,32位二进制数占用4B空间,1MB=2^10KB=2^20B

那么可以存放32位二进制数的个数为256*2^20*8/32=67108864

试题B:卡片

 分析:因为数据只有2021,所以直接模拟即可

结果为:3181(注意题目中问的是能够完整的拼到多少

细节见代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
#include<queue>
#include<vector>
#include<cmath>
using namespace std;
const int N=1e5+10;
int cnt[15];
int main()
{
	for(int i=0;i<=9;i++)
		cnt[i]=2021;
	bool flag=true;//标记当前是否存在卡片不够的情况 
	int i; 
	for(i=1;;i++)//尝试拼i 
	{
		int t=i;//定义一个临时变量t,防止i被修改
		while(t)
		{
			int r=t%10;
			t/=10;
			if(cnt[r]==0)
			{
				flag=false;
				break;
			}
			cnt[r]--;
		} 
		if(!flag) break;
	}
	printf("%d",i-1);//最多拼到i-1 
	return 0;
} 

试题C:直线

答案是40257

这道题目细节比较多,讲解见链接:(6条消息) (第十二届蓝桥杯省赛)试题C直线(set+防止精度损失)_AC__dream的博客-CSDN博客

试题D:货物摆放

 答案:2430

详情见博客:(1条消息) 第十二届蓝桥杯省赛:货物摆放_AC__dream的博客-CSDN博客

答案是:10266837

详情见博客:第十二届蓝桥杯省赛 E:路径_AC__dream的博客-CSDN博客

试题F:时间显示

样例1输入:

46800999

样例1输出:

13:00:00

样例2输入:

1618708103123

样例2输出:

01:08:23

分析:这道题没什么好说的,需要注意的就是单位之间的换算,1s等于1000ms,还有就是注意格式输出,细节见代码:

#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
#include<algorithm>
#include<map>
#include<cmath>
#include<queue>
using namespace std;
int main()
{
    long long t;
    cin>>t;
    t/=1000;
    printf("%02d:%02d:%02d",t/3600%24,(t%3600)/60,t%60);
    return 0;
} 

试题G:砝码称重

样例输入: 

3
1 4 6

样例输出:

10

详情见博客:(6条消息) 第十二届蓝桥杯省赛第一场C++B组真题(砝码称重)_AC__dream的博客-CSDN博客

试题H:杨辉三角形

 样例输入:

6

样例输出:

13

详情见博客:(6条消息) 第十二届蓝桥杯省赛第一场C++B组真题(杨辉三角形)-CSDN博客

试题I:双向排序

样例输入:

3 3
0 3
1 2
0 2

样例输出:

3 1 2

详情参考博客:(1条消息) 第十二届蓝桥杯省赛第一场C++B组真题(双向排序)_AC__dream的博客-CSDN博客

试题J:括号序列

样例输入: 

((()

样例输出:

5

详情参考博客:

第十二届蓝桥杯省赛第一场C++B组真题(括号序列)_AC__dream的博客-CSDN博客

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
为驱动数码管,常用的方法有两种:共阳极和共阴极。下面分别介绍两种方法的实现。 共阳极数码管驱动: 共阳极数码管的每个显示单元的阳极都连接在一起,共用一根引脚,而且每个显示单元的阴极都独立连接。因此,要点亮某个数码管的某一位,就需要将对应的阴极接地,同时将阳极接到电源上。 具体实现方法如下: 1.定义一个数组,存储每个数码管的阴极引脚号码; 2.定义一个数组,存储每个数字在数码管中的编码; 3.循环扫描每个数码管,依次点亮每一位数字; 4.在每个数码管的阴极引脚上输出低电平,点亮对应的数字; 5.在每个数码管的阴极引脚上输出高电平,熄灭数字。 共阴极数码管驱动: 共阴极数码管的每个显示单元的阴极都连接在一起,共用一根引脚,而且每个显示单元的阳极都独立连接。因此,要点亮某个数码管的某一位,就需要将对应的阳极接地,同时将阴极接到电源上。 具体实现方法如下: 1.定义一个数组,存储每个数码管的阳极引脚号码; 2.定义一个数组,存储每个数字在数码管中的编码; 3.循环扫描每个数码管,依次点亮每一位数字; 4.在每个数码管的阳极引脚上输出低电平,点亮对应的数字; 5.在每个数码管的阳极引脚上输出高电平,熄灭数字。 以上是两种方法的实现原理,具体实现时可以根据需要选择其中一种。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值