当前位置: 首页 > news >正文

蓝桥杯2023(十四届)省赛——统计日期(八重神子)

统计日期

2.日期统计 - 蓝桥云课 (lanqiao.cn)

其实一开始我想直接暴力的,然后写着写着突然觉得可以优化一下: 优化方法:先找所有2023的位置,记录初始和最后的位置 找出所有合法日期的位置,使用前缀和,计算以当前2023结尾时,其后有几个合法日期,相加即可 但是有个问题就是,如何如果遇见相同的日期,怎么存储其位置?

最后还是用的八重神子(我不是OP):注意筛选还有月和日不能是00

注意,下面的代码只是用来计算的,不能作为AC代码使用,因为本题是填空题,所以超时无所谓

#include <iostream>
#include <set>
using namespace std;int str[101];
int m[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
set<int>s;bool check(int a, int b, int c, int d)
{//只要确定月份是否匹配就行int month = 10 * a + b;int day = 10 * c + d;if (month > 12 || month==0)	return false;if (day > m[month] || day==0)	return false;return true;
}int main()
{for (int i = 0; i < 100; i++)	cin >> str[i];//优化方法:先找所有2023的位置,记录初始和最后的位置//找出所有合法日期的位置,使用前缀和,计算以当前2023结尾时,其后有几个合法日期,相加即可//但是有个问题就是,如何如果遇见相同的日期,怎么存储其位置?// 考虑了这么多,我是真的没想到,直接用了一个八重神子for (int i = 0; i < 100; i++)	//2if(str[i]==2)for (int j = i + 1; j < 100; j++)	//0if(str[j]==0)for (int k = j + 1; k < 100; k++)	//2if(str[k]==2)for (int a = k + 1; a < 100; a++)	//3if (str[a] == 3)for(int b=a+1;b<100;b++)	//月1if (str[b] == 0 || str[b] == 1)for (int c = b + 1; c < 100; c++)	//月2{if (str[b] == 1 && str[c] > 2)	continue;for (int d = c + 1; d < 100; d++)	//天1{if (str[d] > 3)	continue;for (int e = d + 1; e < 100; e++)	//天2{if (check(str[b], str[c], str[d], str[e])){int temp =1e7 * str[i] + 1e6 * str[j] + 1e5 * str[k] + 1e4 * str[a] + 1e3 * str[b] + 1e2 * str[c] + 1e1 * str[d] + str[e];s.insert(temp);}}}}/*for (auto it : s)cout << it << endl;*/cout << s.size();	//235return 0;
}

相关文章:

  • 【FAQ】HarmonyOS SDK 闭源开放能力 —IAP Kit(2)
  • Android视频开发入门指南
  • 云原生Kubernetes: K8S 1.26版本 部署KubeSphere
  • 关于如何创建一个可配置的 SpringBoot Web 项目的全局异常处理
  • Excel模板计算得出表格看板
  • 如何在Python爬蟲中設置代理伺服器?
  • 民国漫画杂志《时代漫画》第18期.PDF
  • 阿木实验室联合openEuler开源社区-Embedded SlG组(海思项目)参加第五届「开源之夏」,参赛学生火热招募中...
  • ARP基本原理
  • 【Python设计模式14】状态模式
  • 决策树最优属性选择
  • 2024最新 Jenkins + Docker 实战教程(四) - 编写自己的Springboot项目实现自动化部署
  • Apache JMeter操作
  • linux使用dockerCompose脚本化部署镜像
  • 简单采用windows批处理命令批量合并命名安卓B站缓存视频
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • gops —— Go 程序诊断分析工具
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JS基础之数据类型、对象、原型、原型链、继承
  • js学习笔记
  • Lsb图片隐写
  • Making An Indicator With Pure CSS
  • node入门
  • Odoo domain写法及运用
  • PAT A1120
  • SQLServer之创建数据库快照
  • Theano - 导数
  • vue数据传递--我有特殊的实现技巧
  • XForms - 更强大的Form
  • 从PHP迁移至Golang - 基础篇
  • 多线程事务回滚
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 携程小程序初体验
  • 学习笔记TF060:图像语音结合,看图说话
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​学习一下,什么是预包装食品?​
  • #1015 : KMP算法
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (SpringBoot)第七章:SpringBoot日志文件
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (图)IntelliTrace Tools 跟踪云端程序
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一)SvelteKit教程:hello world
  • (转)一些感悟
  • (转载)Linux 多线程条件变量同步
  • .bat批处理出现中文乱码的情况
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .net wcf memory gates checking failed
  • .net 调用海康SDK以及常见的坑解释
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递