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

[202403-B]算日期

[202403-B]算日期

题目描述

给定三个整数 aaabbbccc,其中 aaa 是 1583 到 2400 的整数,bbbccc 是 1 到 99 的整数,请问 aaabbbccc 日是否是一个合法的日期(需要考虑闰年)?

输入格式

输入共一行,包含三个整数 aaabbbccc,相邻两个整数之间用一个空格隔开。

输出格式

输出共一行,包含一个字符串,如果输入的日期合法,则输出 “YES”,否则输出 “NO”。

样例 #1

样例输入 #1

2000 2 29

样例输出 #1

YES

样例 #2

样例输入 #2

2021 2 29

样例输出 #2

NO

样例 #3

样例输入 #3

2013 6 15

样例输出 #3

YES

样例 #4

样例输入 #4

2077 15 30

样例输出 #4

NO

提示

样例解释

样例解释:

  • 样例#1:输入的日期是 2000 年 2 月 29 日,2000 年是闰年,2 月有29天,因此该日期是合法的,输出 “YES”。

  • 样例#2:输入的日期是 2021 年 2 月 29 日,2021 年不是闰年,2 月最多有28天,因此该日期是不合法的,输出 “NO”。

  • 样例#3:输入的日期是 2013 年 6 月 15 日,2013 年不是闰年,6 月最多有30天,因此该日期是合法的,输出 “YES”。

  • 样例#4:输入的日期是 2077 年 15 月 30 日,由于没有 15 月,输出 “NO”。

数据范围

对于 40%40\%40% 的测试数据,年份不是闰年,且 1≤b≤121\le b \le 121b12

对于所有测试数据,aaa 是 1583 到 2400 的整数,bbbccc 是 1 到 99 的整数。

🚀 题目解析:判断日期是否合法(考虑闰年)


🔍 思路分析:

  1. 年份范围
    年份 aaa 在 1583 到 2400 之间,属于现代公历范围。
  2. 月份判断
    月份 bbb 必须在 1 到 12 之间,否则日期不合法。
  3. 闰年判断
    判断闰年的规则(公历):
    • 能被 400 整除的是闰年
    • 能被 4 整除但不能被 100 整除的是闰年
    • 其他年份不是闰年
  4. 天数判断
    • 根据月份确定当月天数(闰年2月为29天,平年2月为28天)
    • 天数 ccc 必须在 1 到当月最大天数之间
  5. 输出结果
    • 合法输出 “YES”
    • 不合法输出 “NO”

💡 月份对应天数表

月份天数 (平年)备注
131
228 或 29闰年为29天
331
430
531
630
731
831
930
1031
1130
1231

📄 C++ 参考代码实现:

#include <iostream>
using namespace std;int main() {int a, b, c;cin >> a >> b >> c;// 先判断月份是否合法if (b < 1 || b > 12) {cout << "NO" << endl;return 0;}// 判断是否闰年bool leap = false;if ((a % 400 == 0) || (a % 4 == 0 && a % 100 != 0)) {leap = true;}// 各个月份的天数(平年)int daysInMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};// 如果是闰年且2月,天数改为29if (leap && b == 2) {daysInMonth[1] = 29;}// 判断日期是否合法if (c >= 1 && c <= daysInMonth[b - 1]) {cout << "YES" << endl;} else {cout << "NO" << endl;}return 0;
}

🏆 样例测试:

输入输出解释
2000 2 29YES2000年是闰年,2月29日合法
2021 2 29NO2021年不是闰年,2月没有29日
2013 6 15YES6月有30天,15日合法
2077 15 30NO15月不存在

http://www.lryc.cn/news/614418.html

相关文章:

  • 蓝桥杯----大模板
  • V4L2摄像头采集 + WiFi实时传输实战全流程
  • FreeRTOS入门知识(初识RTOS)(一)
  • Chat GPT5功能
  • 使用 Gulp 替换 XML 文件内容
  • 明厨亮灶场景下误检率↓76%:陌讯多模态融合算法实战解析
  • Ignite节点生命周期钩子机制详解
  • 基于Spring Boot的Minio图片定时清理实践总结
  • 如何使用Databinding实现MVVM架构
  • GPT5新功能介绍以及和其他模型对比
  • InfluxDB漏洞:Metrics 未授权访问漏洞
  • 借助Rclone快速从阿里云OSS迁移到AWS S3
  • 【数据结构】哈希扩展学习
  • 在 Mac 上安装 IntelliJ IDEA
  • 达梦(DM)闪回使用介绍
  • 智能云探索:基于Amazon Bedrock与MCP Server的AWS资源AI运维实践
  • 微信小程序miniprogram-ci 模块实现微信小程序的自动上传功能
  • 微型导轨在半导体制造中有哪些高精密应用场景?
  • 5 种简单方法将 Safari 书签转移到新 iPhone
  • 苹果iPhone 17系列将发售,如何解决部分软件适配问题引发讨论
  • 3 种简单方法备份 iPhone 上的短信 [2025]
  • 若以微服务部署踩坑点
  • Day10 SpringAOP
  • GitLab同步提交的用户设置
  • 智能厨具机器人的革命性升级:Deepoc具身模型外拓板技术解析
  • JAVA,Maven聚合
  • “A flash of inspiration“, protect us from prompt injection?
  • Node.js 》》bcryptjs 加密
  • Kafka + 时间轮 + 数据库实现延迟队列方案
  • 全场景音频工作流实践:Melody如何打造音源管理闭环