蓝桥杯2023年第十四届省赛C组真题

230 阅读2分钟

1.求和 - 送分题 (lanqiao.cn)

记得开long long,不然相加结果会溢出

#include<iostream>
using namespace std;
int main()
{
	long long n=20230408;
	long long sum=0;
	for(int i=1;i<=n;i++)
	{
		sum+=i;
	}
	cout<<sum<<endl;
	return 0;
}

image.png




2.工作时长

测试用例:P2088 - [蓝桥杯2023初赛] 工作时长 - New Online Judge (ecustacm.cn)

思想

将输入时间换算成距离 2022-01-01 00:00:00 的秒数,排序后成对计算即可.

#include <bits/stdc++.h>
using namespace std;
vector<int>v;

const int months[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int main() {
	freopen("1.txt", "r", stdin);

	int y, m, d, hh, mm, ss;
	while (scanf("%d-%d-%d %d:%d:%d", &y, &m, &d, &hh, &mm, &ss) == 6) {
		//printf("%d-%d-%d %d:%d:%d\n", y, m, d, hh, mm, ss);  验证是否输入成功

		//断言年份是否有不是2022年的
		assert(y == 2022);

		int t = 0;
		//把每个月的天数相加
		for (int i = 1; i < m; i++) {
			t += months[i];
		}

		t += d; //把给定的天数相加


		//接下来需要把所有的天数全部转化为小时+小时->分+分->秒+秒
		t = t * 24 + hh;
		t = t * 60 + mm;
		t = t * 60 + ss;
		v.push_back(t);
	}

	//排完序之后从后往前减
	sort(v.begin(), v.end());
	int ans = 0;
	for (int i = 0; i < v.size(); i += 2) {
		ans += v[i + 1] - v[i];
	}
	cout << ans;
	return 0;
}





2.三国游戏 - 蓝桥云课 (lanqiao.cn)

第十四届蓝桥杯C++C组 三国游戏 知识点:贪心 - 掘金 (juejin.cn)




1.填充 - 蓝桥云课 (lanqiao.cn)

第十四届蓝桥杯C++C组真题 填充 分类讨论 - 掘金 (juejin.cn)




5.翻转 - 蓝桥云课 (lanqiao.cn)

2023年蓝桥杯省赛C++c组真题 翻转 知识点:贪心 - 掘金 (juejin.cn)




1.互质数的个数 - 蓝桥云课 (lanqiao.cn)

2023年蓝桥杯第十四届省赛真题-互质数的个数 知识点:欧拉函数 快速幂 - 掘金 (juejin.cn)