标题:日期问题

小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在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

 #include<bits/stdc++.h>
using namespace std; int mDayNum[]={,,,,,,,,,,,,}; struct date
{
int year;
int month;
int day; date(int y,int m,int d) //构造函数
{
year=y;
month=m;
day=d;
} bool operator<(date other)const //因为set默认将元素从小到大排列,自定义类需要重载<运算符
{
if(year==other.year)
{
if(month==other.month)
{
return day<other.day;
}
return month<other.month;
}
return year<other.year;
} bool vial() //判断年月日是否符合
{
if(year<||year>)
return false;
if(month<=||month>)
return false;
if(year%==&&year%!=||year%==)
{
if(month==)
{
return day>=&&day<=;
}
return day>=&&day<=mDayNum[month];
}
else
{
return day>=&&day<=mDayNum[month];
}
} void print() const //打印
{
printf("%d-%02d-%02d\n",year,month,day);
} }; set<date> ss; void insert(int a,int b,int c) //加入集合前先判断
{
date obj(a,b,c);
if(obj.vial())
{
ss.insert(obj);
}
} int main()
{ freopen("input.txt","r",stdin);
int a,b,c;
scanf("%d/%d/%d",&a,&b,&c); //输入:年/月/日
//共六种情况,分别进行判断即可 //年月日
insert(+a,b,c);
insert(+a,b,c); //月日年
insert(+c,a,b);
insert(+c,a,b); //日月年
insert(+c,b,a);
insert(+c,b,a); for(set<date>::iterator it=ss.begin();it!=ss.end();it++)
{
it->print();
} return ;
}

第八届蓝桥杯C++B组 日期问题的更多相关文章

  1. 第八届蓝桥杯java b组第六题

    标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少. 比如:"abcdkkk" 和 "baabcdadabc",可以找 ...

  2. 第八届蓝桥杯java b组第一题

    1,标题: 购物单    小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞.    这不,XX大促销又来了!老板夫人开出了长长的购 ...

  3. 第八届蓝桥杯java b组第三题

    标题:承压计算 X星球的高科技实验室中整齐地堆放着某批珍贵金属原料. 每块金属原料的外形.尺寸完全一致,但重量不同.金属材料被严格地堆放成金字塔形. 7                         ...

  4. 第八届蓝桥杯java b组第十题

    标题: k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍 ...

  5. 第八届蓝桥杯java b组第九题

    标题: 分巧克力 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们.    小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N ...

  6. 第八届蓝桥杯java b组第八题

    ,标题:包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可以认为是无限笼. 每当有顾客想买X个包子,卖包子的大叔就 ...

  7. 第八届蓝桥杯java b组第五题

    标题:取数位 求1个整数的第k位数字有很多种方法.以下的方法就是一种. 对于题目中的测试数据,应该打印5. 请仔细分析源码,并补充划线部分所缺少的代码. 注意:只提交缺失的代码,不要填写任何已有内容或 ...

  8. 第八届蓝桥杯java b组第二题

    标题:纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算).要求每个边的和相等.        下图就是一种排法(如有对齐问题,参看p1.png). A       ...

  9. (acwing蓝桥杯c++AB组)1.1 递归

    (acwing蓝桥杯c++AB组)1.课程介绍+递归 文章目录 (acwing蓝桥杯c++AB组)1.课程介绍+递归 课程介绍 第一讲 递归与递推 递归 引入 递归的底层调用顺序 例题与练习 课程介绍 ...

随机推荐

  1. C++ -> 在使用动态链表和异质链表产生野指针的步骤

    C++ -> 在使用动态链表和异质链表产生野指针的步骤 使用异质链表产生野指针的情况,下面是修改书本的例子: ------------------------------------------ ...

  2. jQuery---width和height的方法

    width和height的方法 //获取div的宽度 $("div").css("width", "400px"); console.log ...

  3. 怎么压缩PPT大小?

    PPT体积过大有几个原因: 1.母版内版式过多.解决方法:①点击“视图”选项卡下的“幻灯片母版”:②删除左边没必要的版式. 2.图片质量太大.解决方法:①选中任意一张图片:②点击“图片工具”的“格式” ...

  4. Pytest学习9-常用插件

    pytest-django:为django应用程序编写测试. pytest-twisted:为twisted应用程序编写测试,启动反应堆并处理测试函数的延迟. pytest-cov:覆盖率报告,与分布 ...

  5. SE篇

    1. List 和 Set 区别       List 特点:元素有放入顺序,元素可重复     Set 特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉   2. List 和 Map 区别   ...

  6. Oracle - 拼接多个字段 - wm_concat()函数

    Oracle wm_concat()函数oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oraclewm_concat(column)函数实现字段合并如:s ...

  7. (转)正则表达式:string.replaceAll()中的特殊字符($ \)与matcher.appendReplacement

    string.replaceAll中的特殊字符 string.replaceAll(String regex, String replacement)中的replacement参数即替换内容中含有特殊 ...

  8. navicat连接mysql8.0+版本报错2059

    ERROR 2059 : Authentication plugin 'caching_sha2_password' cannot be loaded 问题: 连接Docker启动的mysql出现:E ...

  9. gz、tar、zip、bz2压缩和解压缩命令

    gzip 压缩后的格式为:*.gz 这种压缩方式不能保存原文件:且不能压缩目录 命令举例:#压缩[root@localhost tmp]# gzip buodo[root@localhost tmp] ...

  10. .netcore 3.1高性能微服务架构:加入swagger接口文档

    本文为原创文章:首发:http://www.zyiz.net/tech/detail-108663.html swagger是什么? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视 ...