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;
}
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)