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

蓝桥杯 定时任务

问题描述

Cron 表达式在定时任务中经常被使用,这里我们用的是一种简化后的版本 ——SimpleCron 表达式

SimpleCron 表达式是一个具有时间含义的字符串,字符串以4 个空格隔开,分为5 个域,格式如下:

X X X X X

其中X是一个域的占位符。

五个域从左到右依次为:

  • (0−59)
  • 分钟(0−59)
  • 小时(0−23)
  • 日期(1−31)
  • 月份(1−12)

特殊字符说明

每个域内只能使用一种特殊字符,支持以下几种:

  • *(ASCII 码 42):表示所有可能的值
    例如:在分钟域内表示每一分钟;在日期域内表示月内的每一天。
  • ,(ASCII 码 44):表示枚举值
    例如:在秒域内,3,20表示分别在第 3 秒和第 20 秒执行一次任务。
  • -(ASCII 码 45):表示连续的范围,等价于多个枚举值
    例如:1-5等价于1,2,3,4,5

示例

表达式:

4 2 1,3,15 1-31 *

表示的含义是:

  • 每个月份中的每一天,
  • 在 01:02:04、03:02:04、15:02:04 三个时间点,
  • 各执行一次。

因此,在 2023 年一共会执行1095次。


输入格式

输入一行,包含一个合法的 SimpleCron 字符串(使用了上面描述的规则)。


输出格式

输出一行,一个整数,表示 2023 年定时任务执行的总次数。


样例输入

4 2 1,3,15 1-31 *

样例输出

1095

评测用例规模与约定

对于所有评测用例:

  • 秒域的取值范围:0 ≤ 秒 ≤ 59
  • 分钟域的取值范围:0 ≤ 分钟 ≤ 59
  • 小时域的取值范围:0 ≤ 小时 ≤ 23
  • 日期域的取值范围:1 ≤ 日期 ≤ 31
  • 月份域的取值范围:1 ≤ 月份 ≤ 12

c++代码

#include<bits/stdc++.h>#include<string.h>usingnamespacestd;vector<vector<int>>arr;string str;intans=0;intmain(){vector<int>mid={60,60,24,32,13};vector<int>days={0,31,28,31,30,31,30,31,31,30,31,30,31};arr=vector<vector<int>>(5);for(inti=0;i<5;i++){arr[i]=vector<int>(mid[i],0);}for(inti=0;i<5;i++){cin>>str;if(str=="*")arr[i]=vector<int>(mid[i],1);elseif(str.find("-")!=-1){intk=str.find("-");intleft=stoi(str.substr(0,k)),right=stoi(str.substr(k+1));for(intj=left;j<=right;j++){arr[i][j]=1;}}else{string s;for(chara:str){s+=a;if(a==','){s.erase(s.size()-1);arr[i][stoi(s)]=1;s.clear();}}arr[i][stoi(s)]=1;}}for(inti=1;i<=12;i++){for(intj=1;j<=days[i];j++){for(intk=0;k<=23;k++){for(intw=0;w<=59;w++){for(intm=0;m<=59;m++){if(arr[4][i]&&arr[3][j]&&arr[2][k]&&arr[1][w]&&arr[0][m])ans++;}}}}}cout<<ans;return0;}//by wqs
http://www.jsqmd.com/news/468406/

相关文章:

  • 医疗影像分割实战:从原理到代码,全面解析surface-distance评估指标
  • 蓝桥杯 火车运输
  • ArcGIS实战:从XYZ坐标点到等高线的全流程解析
  • OpenVINO模型量化实战:用NNCF搞定PaddleOCR文本检测模型(附完整代码)
  • 为什么消息队列不像数据库那样可以配置读写分离?
  • Halcon 3D视觉实战:从点云预处理到精准定位的完整流程解析
  • 蓝桥杯 最大区间
  • 大端小端检测实战:5分钟用联合体写出CPU字节序测试工具(附结构体对比)
  • 量化交易系统技术方案设计
  • pr 3dmax ae au 达芬奇等各类安装包需要的自提,
  • swift- Swift中常见的面试题
  • Electron-build进阶技巧:利用NSIS脚本实现安装包注册表操作与文件管理
  • TL5000BCJ激光器参数解析与常见应用场景(含线宽与功率优化技巧)
  • Kafka topic 中的 partition 数据倾斜问题
  • 点云配准避坑指南:ICP算法中点到点/面/线的5个实战误区
  • Protobuf编码实战:从TLV到ZigZag,手把手解析二进制流
  • SDC命令实战:get_lib_cells在Design Compiler中的高效查询技巧
  • 智能基座智享未来ep01:openGauss使用指南
  • 我不允许有人不知道 Win11 专业版密钥,简易 Win11 专业版密钥
  • 1.26 PowerBI数据刷新实战:从报错定位到高效修复
  • OGG经典模式下不停机同步新增表的完整流程(含SCN号获取与数据导出导入)
  • 深入解析RTL8111H网络指示灯驱动修改实战
  • 282个企业级skills,108个本体|滴普科技全新升级发布Deepexi企业大模型与DeepexiOS AI级企业操作系统
  • Logisim微程序控制器设计避坑指南:从真值表填写到MIPS CPU完整执行流程
  • Win10/Win11超萌猫咪指针安装指南:从下载到设置一步到位(附免费资源链接)
  • 地瓜派RDK X5部署YOLOv11n避坑指南:从Softmax算子优化到端到端47 FPS实战
  • 避开这两个坑!用Dbeaver查ES数据时遇到的JDBC和License问题实录
  • 32768个Token的魔法:为什么GPT-4突然能记住整本小说?
  • RocketMQ核心概念精讲:从Group、Topic到Queue、Tag的实战解析
  • Android 8.1虚拟摄像头实战:v4l2loopback移植避坑指南(附完整Makefile配置)