第八届蓝桥杯-日期问题

标题:日期问题小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。  比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。  给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?输入
----
一个日期,格式是"AA/BB/CC"。  (0 <= A, B, C <= 9)  输出
----
输出若干个不相同的日期,每个日期一行,格式是"yyyy-MM-dd"。多个日期按从早到晚排列。  样例输入
----
02/03/04  样例输出
----
2002-03-04  
2004-02-03  
2004-03-02  资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗  < 1000ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。注意:
main函数需要返回0;
只使用ANSI C/ANSI C++ 标准;
不要调用依赖于编译环境或操作系统的特殊函数。
所有依赖的函数必须明确地在源文件中 #include <xxx>
不能通过工程设置而省略常用头文件。提交程序时,注意选择所期望的语言类型和编译器类型。
/**
枚举可能的情况然后进行检验,并去重,使用set集合去重
如果set容器里用自己定义的类或者是结构体类型的,不要忘记重载<符号。并且 set的iterator类型自动就是const的引用类型, 因此当set保存的是类类型时,对iterator解引用无法调用类的菲const成员,所以要在韩束的后面加上const
*/ #include<iostream> #include<set> #include<iterator> using namespace std;int md[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};void myInsert(int year,int month,int day); struct Date{int year;int month;int day;Date (int y,int m,int d){year = y;month = m;day = d;}bool is_ok(){if(year<1960||year>2059) return false;if(month<1||month>12) return false;if((year%4==0&&year%100!=0)||year%400==0) //闰年 {if(month==2){return day>0&&day<=29;}else return day>0&&day<=md[month];}else return day>0&&day<=md[month];}//重载<符号bool operator < (Date b) const{if(year == b.year){if(month == b.month){return day<b.day;}return month<b.month;}return year<b.year;}void print() const{cout<<year<<"-";if(month<10) cout<<"0";cout<<month<<"-";if(day<10) cout<<"0";cout<<day<<endl;} };set<Date> ss;void myInsert(int year,int month,int day) {Date d(year,month,day);if(d.is_ok())ss.insert(d); } int main() {int a,b,c;char fu;cin>>a>>fu>>b>>fu>>c;//年月日myInsert (a+1900,b,c);myInsert (a+2000,b,c);//月日年myInsert(1900+c, a, b);myInsert(2000+c, a, b);//日月年myInsert(1900+c, b, a);myInsert(2000+c, b, a);set<Date>::iterator it = ss.begin();for(;it!=ss.end();it++){it->print();}return 0; }
 

 

 

转载于:https://www.cnblogs.com/desserts/p/8530819.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/414584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9、Flutter 实现 生成二维码

9、Flutter 实现 生成二维码 1、加入依赖 在 pubspec.yaml 中 dependencies 节点下添加&#xff1a; dependencies: qr_flutter: ^1.1.6 2、引入代码 在需要细线二维码的 dart 类中引入依赖代码包&#xff1a; import package:qr_flutter/qr_flutter.dart; 代码部分 import p…

工作244:根据页面的内容调用

1根据内容接口判断接口数据 2显示不同的内容 3状态管理 <!--首页管理--> <template><div><!--market--><el-card v-if"task1.length!0" style"width: 100%;height: 300px;"><el-carousel :interval"3000"…

Android 换肤demo,轻量快捷接入集成,判断是否夜间模式

true为黑夜模式 //检查当前系统是否已开启暗黑模式 public static boolean getDarkModeStatus(Context context) {int mode context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;return mode Configuration.UI_MODE_NIGHT_YES;} 实现…

Python——使用matplotlib绘制柱状图

Python——使用matplotlib绘制柱状图 1、基本柱状图 首先要安装matplotlib&#xff08;http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot&#xff09; 可以使用pip命令直接安装[python] view plaincopy # -*- coding: utf-8 -*- import matplotlib.pyplot a…

了解 yarn 、npm、nodejs

了解 yarn 、npm、nodejs 一、前言 针对即将上线的 jeecg-boot 做一些准备。二、了解系列 1、了解 nodejs Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境&#xff0c;基于…

Android 语音播报,语音识别demo

该功能是基于百度智能云实现的根据文字进行语音播报。 1、首先到百度智能云创建语音应用 https://console.bce.baidu.com/ai/ 填写包名创建百度语音应用&#xff0c;获取AppID&#xff0c;API Key&#xff0c;Secret Key 2、导入资源文件。语音jar&#xff0c;assets语音库&am…

jeecg自定义datagrid查询

jeecg自定义datagrid查询 为什么要写这篇文章&#xff1f; 我们了解&#xff0c;使用 jeecg 提供的 CriteriaQuery 查询方式&#xff0c;确实能满足绝大数的需求&#xff0c;但是往往有那么个比较复杂的情况&#xff0c;需要我们直接去写 sql&#xff0c;比如多表查询呀等等等…

mailto发送邮件

mailto后面加发送邮件地址&#xff0c;可以在网页上通过链接直接打开邮件客户端发送邮件&#xff1b;只有第一个可以 1 <!DOCTYPE html>2 <html>3 <head>4 <meta charset"UTF-8">5 <title></title>6 &l…

Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21

第一次在Android studio 创建kotlin项目。编译报错&#xff1a; Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21 解决方法 // implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"implementation "org.jetbrai…

jeecg自定义按钮使用exp属性不起作用

jeecg自定义按钮使用exp属性不起作用 为什么要写这篇文章&#xff1f; 之前写过一篇类似的文章 jeecg笔记之自定义显示按钮exp属性&#xff0c;但是有些小伙伴留言参考后不起作用&#xff0c;当时我的 jeecg 版本为3.7.5&#xff0c;最终以版本不同&#xff0c;暂时搁浅了。今…

使用java修改图片DPI

修改以后可以直接用PS打开看效果 全部使用rt下的类&#xff0c;无需下载其他jar包 import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.JPEGImageEncoder; import javax.imageio.ImageIO; …

Android studio 创建kotlin工程

1、安装kotlin插件 打开settings页面。安装插件 2、已安装kotlin插件即可创建kotlin项目 打开New Project。选中Includ Kotlin support即可 3、创建kotlin或者java的activity 选中语音类型kotlin或者java kotlin项目创建完成 kotlin工程demo链接&#xff1a;https://download…

改造一下jeecg中的部门树

改造一下jeecg中的部门树 假装有需求 关于 jeecg 提供的部门树&#xff0c;相信很多小伙伴都已经用过了&#xff0c;今天假装有那么一个需求 "部门树弹窗选择默认展开下级部门"&#xff0c;带着这个需求再次去探索一下吧。 一、改造之前的部门选择树流程 1.1 t:depa…

html 知识

一 html是什么&#xff1f; ,1、超文本标记语言&#xff08;Hypertext Markup Language, HTML&#xff09;是一种用于创建网页的标记语言。 2、本质上是浏览器可识别的规则&#xff0c;我们按照规则写网页&#xff0c;浏览器根据规则渲染我们的网页。对于不同的浏览器&#xff…

Android kotlin基础语法

1、继承类和实现接口 继承类是冒号连接&#xff0c;java是extends连接。实现接口是逗号连接&#xff0c;java是implements连接 class MainActivity : AppCompatActivity(),MyKotlinInterface ,MyInterface{ java&#xff1a;public class Main3Activity extends AppCompatAc…

工作245:vue的注意规范之v-if 与 v-for 一起使用

当 v-if 与 v-for 一起使用时&#xff0c;v-for 具有比 v-if 更高的优先级&#xff0c;这意味着 v-if 将分别重复运行于每个 v-for 循环中 所以&#xff0c;不推荐v-if和v-for同时使用 使用推荐方式&#xff1a; 或者&#xff1a;放在计算属性遍历 当它们处于同一节点&#x…