蓝桥杯每日一题2023.9.29

蓝桥杯大赛历届真题 - C&C++ 大学 B 组 - 蓝桥云课 (lanqiao.cn)

题目描述1

题目分析

看见有32位,我们以此为入手点,

B代表字节1B = 8b

b代表位,32位即4个字节 (B)

1KB = 1024B

1MB = 1024KB

(256 * 1024 * 1024) / 4 = 67108864

故答案为67108864

题目描述2

题目分析

只需将0~9每个数组当成一类卡片,如果循环到的数字需要就可以将此减去。如果减到会小于0就输出此+1即可(答案3181)

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int f[N], flag;
int main()
{
	for(int i = 0; i <= 9; i ++)
	{
		f[i] = 2021;
	}
	for(int i = 1; ; i ++)
	{
		int x = i; 
		while(x)
		{
			int y = x % 10;
			x /= 10;
			if(f[y] > 0)f[y] --;
			else
			{
				flag = i;
				break;
			}
		}
		if(flag)break;
	}
	cout << flag - 1;
	return 0;
}

题目描述3

题目分析

注:要确定有多少条不同的直线,需要将相同的直线不算进去,我们可以进行暴力枚举,当其

x1 == x2 或者 y1 == y2是其斜率为垂直于X轴或者平行于X轴的直线这些线一共有41条,我们可以

将其放在最后相加,我们将所有的直线都枚举出来存入set中,set会自动去重,找出set中线的个数

即可。

思考:将直线存入set我们主要存的是斜率以及截距,斜率与截距确定一条直线y = kx + b

其斜率:(y2 - y1) / (x2 - x1)

我们计算截距的时候不能直接使用计算好的斜率进行计算,因为会损失精度造成错误

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
typedef pair<double, double> PII;
set<PII> st;
int ans;
int main()
{
	for(int x1 = 0; x1 <= 19; x1 ++)
	{
		for(int y1 = 0; y1 <= 20; y1 ++)
		{
			for(int x2 = 0; x2 <= 19; x2 ++)
			{
				for(int y2 = 0; y2 <= 20; y2 ++)
				{
					if(x1 == x2 || y1 == y2)continue;
					double k = ((y2 - y1) * 1.0) / ((x2 - x1) * 1.0);
					double b = ((x2 * y1 - x1 * y2) * 1.0) / ((x1 - x2) * 1.0);
					st.insert({k, b});
				}
			}
		}
	}
	ans = 41 + st.size();
	cout << ans;
	return 0;
}

故答案为40257

相关推荐
CoderYanger3 小时前
A.每日一题:1979. 找出数组的最大公约数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
爱学习的执念5 小时前
软件测试面试常问,主要考察你对接口测试相关知识的掌握程度?
面试·职场和发展
测试界的世清20 小时前
各大厂软件测试面试题+答案纯干货
面试·职场和发展
SunShaoLu21 小时前
实测7款思维导图工具图片导出能力:PNG/SVG/PDF全支持,附选型指南
职场和发展·效率工具·思维导图
闪电悠米1 天前
力扣hot100-48.旋转图像-转置翻转详解
算法·leetcode·职场和发展
ychqsq1 天前
95.归位
经验分享·职场和发展
小poop1 天前
算法复杂度:从入门到面试必备
算法·面试·职场和发展
网安老伯1 天前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展
叩码以求索2 天前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
谙弆悕博士2 天前
信息系统项目管理师教程(第4版)笔记——第 2 章 信息技术发展
笔记·职场和发展·软考高级·软考·高项·项目经理