蓝桥杯 Day 13(C++)
特殊日期
#include <iostream>
#include <vector>
using namespace std;
int ans = 0;
int day[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
for(int year = 1900; year <= 9999; year ++)
{
for(int month = 1; month <= 12; month ++)
{
int tmp = year;
int sum1 = 0;
while(tmp)
{
sum1 += tmp % 10;
tmp /= 10;
}
tmp = month;
int sum2 = 0;
while(tmp)
{
sum2 += tmp % 10;
tmp /= 10;
}
for(int i = 1; i <= day[month]; i++)
{
int sum3 = 0;
int tmp = i;
while(tmp)
{
sum3 += tmp % 10;
tmp /= 10;
}
if(sum1 == sum2 + sum3)
{
ans ++;
}
}
if(month == 2)
{
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
if(sum1 == sum2 + 2 + 9)
{
ans ++;
}
}
}
}
}
cout << ans << endl;
return 0;
}

重合次数
#include <iostream>
using namespace std;
int main()
{
cout << 494 << endl;
return 0;
}
左移右移
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int INF = 0x3f3f3f;
const int N = 1e6;
int n,m;
//思路:先预处理经过m次操作后的数字的位置,然后直接放数字即可
int main()
{
cin >> n >> m;
vector<pair<int, int>> v(n);
//初始权重为自己的位置
for(int i = 0; i< n; i++)
{
v[i].first = i + 1; //自己的位置
v[i].second = i + 1;
}
int left = -1, right = n + 1;
while(m --)
{
char op;
int num;
cin >> op >> num;
if(op == 'L')
{
v[num - 1].first = left;
//表示下一个到最左边的数 需要 比当前最左边的数 还要左
left --;
}
else
{
v[num - 1].first = right;
right ++;
}
}
sort(v.begin(), v.end());
for(auto it : v)
{
cout << it.second << ' ';
}
return 0;
}

近似gcd
#include <iostream>
using namespace std;
//思路:最大gcd -- 也就说明 如果某个区间中的数字 都是 gcd的倍数的话,则说明这个区间就是满足条件的
//【题目可知 这区间可最大存在一个元素不满足是gcd的倍数,即 对其进行修改】
//也就是说,此时题目转换为:找出长度 >=2 的子数组中最多存在1个元素不满足是gcd的倍数
int n,g;
const int N = 1e5 + 10;
int a[N];
int main()
{
cin >> n >> g;
//此时我们可以转换数组的值
//用1表示这个元素是满足gcd的倍数,0表示不满足
for(int i = 1; i <=n; i++)
{
int tmp;
cin >> tmp;
a[i] = (tmp % g == 0 ? 1 : 0);
}
int ans = 0;
//找子数组 -- 枚举右端点
for(int i = 2; i <= n; i++)
{
//计算这个区间中出现了0的个数
int flags = 0;
if(a[i] == 0)
{
flags ++;
}
int j = i - 1;
//从右往左 枚举 左端点
while(j >= 1)
{
if(a[j] == 0)
{
flags ++;
}
if(a[j] != 0 || flags <= 1)
{
ans ++;
j --;
}
if(flags > 1)
{
break;
}
}
}
cout << ans << endl;
return 0;
}

相关推荐
第十五届蓝桥杯大赛软件赛省赛第二场 C/C++ 大学 A组
第十五届蓝桥杯大赛软件赛省赛第二场 C/C++ 大学 a 组
蓝桥杯 2015省赛 Java语言 大学A组 真题.doc
蓝桥杯 2015省赛 Java语言 大学A组 真题.doc
政府科技管理者如何提升科技成果转化项目进场交易的备案效率?.docx
政府科技管理者如何提升科技成果转化项目进场交易的备案效率?
山区道路边坡落石隐患检测数据集VOC+YOLO格式241张1类别.md
【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 CSDN 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 CSDN 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 CSDN 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 CSDN 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。
高空作业栏杆检测数据集VOC+YOLO格式230张3类别.md
【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 CSDN 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 CSDN 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 CSDN 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 CSDN 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。



