17蓝桥C语言B组 7.日期问题

2023-05-16

标题:日期问题

小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在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
不能通过工程设置而省略常用头文件。

提交程序时,注意选择所期望的语言类型和编译器类型。

——————————————————————————————————————————————

  • 判断年,yy>=60 19yy else 20yy
  • 判断月,mm<=12
  • 判断日,dd<=d[mm];其中mm=2时,d[mm]=yy%4?28:29;
  • 判重,题目:输出若干个不相同的日期
  • 排序,从早到晚

更多日期问题
求星期几公式 w=(d+2m+3(m+1)/5+y+y/4-y/100+y/400)%7;yy-1/2-dd——>yy-1-13/14-dd

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int mm[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int a,b,c;
struct Node
{
	int y,m,d;
}date[5];
int ct=0;
bool vis[3000][15][35];
bool cmp(Node a,Node b)
{
	if(a.y==b.y)
	{
		if(a.m==b.m)
			return a.d<b.d;
		return a.m<b.m ;
	}
	return a.y<b.y;
}
int main()
{
	scanf("%d/%d/%d",&a,&b,&c);
	/*yy-mm-dd*/
	if(b<=12&&(c<=mm[b]||a%4==0&&b==2&&c==29))//因为题目所给年份范围特殊,用a%4可判断是否闰年 
	{
		date[ct].y=(a>=60?a+1900:a+2000);
		date[ct].m=b;
		date[ct].d=c;
		vis[date[ct].y][b][c]=1;
		ct++; 
	}
	/*mm-dd-yy*/
	if(a<=12&&(b<=mm[a]||c%4==0&&a==2&&b==29))
	{
		date[ct].y=(c>=60?c+1900:c+2000);
		date[ct].m=a;
		date[ct].d=b;
		if(!vis[date[ct].y][a][b])
		{
			vis[date[ct].y][a][b]=1;
			ct++;
		}
	}
	/*dd-mm-yy*/
	if(b<=12&&(a<=mm[b]||c%4==0&&b==2&&a==29))
	{
		date[ct].y=(c>=60?c+1900:c+2000);
		date[ct].m=b;
		date[ct].d=a;
		if(!vis[date[ct].y][b][a])
		{
			vis[date[ct].y][b][a]=1;
			ct++;
		}
	}
	/*sort_print*/
	sort(date,date+ct,cmp);
	for(int i=0;i<ct;i++)
		printf("%d-%02d-%02d\n",date[i].y,date[i].m,date[i].d);
	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

17蓝桥C语言B组 7.日期问题 的相关文章

随机推荐

  • MySQL字符集详解

    今天继续给大家介绍MySQL相关知识 xff0c 本文主要内容是MySQL字符集 一 MySQL字符集简介 字符集规定了字符在数据库中的存储格式 xff0c 比如占多少空间 xff0c 支持哪些字符等等 不同的字符集有不同的编码规则 xff
  • sql:命名管道管道程序_学习SQL:命名约定

    sql 命名管道管道程序 A naming convention is a set of unwritten rules you should use if you want to increase the readability of t
  • LNMP详解(十四)——Nginx日志详解

    今天继续给大家介绍Linux运维相关知识 xff0c 本文主要内容是Nginx日志分析 一 Nginx日志分析简介 当Nginx作为web服务器时 xff0c 会提供对外访问功能 xff0c 这时对Nginx日志运行的错误和访问记录会进行记
  • 【Go】Go Gorm Sqlite3 CreateInBatches 报错:too many SQL variable 排查与解决

    Go xff1a 1 17 7 Gorm xff1a gorm io gorm v1 22 3 Gorm Sqlite3 driver gorm io driver sqlite v1 2 4 mattn Sqlite3 github co
  • centos下部署pyspider(精简版)

    centos7部署pyspider 一 安装依赖 yum install gcc gcc c 43 43 python pip python devel python distribute libxml2 libxml2 devel pyt
  • centos7分布式部署pyspider(精简)

    0理论 以下内容摘自框架设计 pyspider 的架构主要分为 scheduler xff08 调度器 xff09 fetcher xff08 抓取器 xff09 processor xff08 脚本执行 xff09 xff1a 各个组件间
  • 菜鸟笔记---startx执行后显示Only console users are allowed to run the X server

    输入startx amp 后报错信息 span class token operator span usr span class token operator span lib span class token operator span
  • 【supervisor】安装和使用,超级详细,开机自启动,以及其它的注意细节

    1 安装supervisor yum pip的方式都可以 yum y install supervisor 已加载插件 xff1a fastestmirror Loading mirror speeds from cached hostfi
  • poj1664-放苹果

    放苹果 把N个同样的苹果放在M个同样的盘子里 xff0c 允许有的盘子空着不放 xff0c 问共有多少种不同的分法 xff1f xff08 用K表示 xff09 5 xff0c 1 xff0c 1和1 xff0c 5 xff0c 1 是同一
  • VS报错——无法打开文件XXX.lib

    添加lib文件 xff1a 配置属性 gt 链接器 gt 输入 gt 附加依赖项加入库名 xff08 lib xff09 xff1b 或者是在cpp源文件中用 pragma comment lib lib 来代替 此时编译会提示 xff1a
  • Kafka与Flink结合使用

    Kafka与Flink结合使用 本地连接kafka 首先可以先以本地模式来对kafka进行操作 当我们在系统 xff08 可以是windows xff0c 尽量linux xff09 上部署好了Zookeeper和kafka集群 xff0c
  • 当前脑电入门

    资料 1 公众号脑机接口社区汇总 2 MNE 3 EEG科普 4 公众号BrainTechnology 5 公众号路同学 6 知乎Alex 7 程序员大本营 xff0c 很多相关 数据集 上海交大SEED数据集 BCI EEG数据集 xff
  • 使用Diskspd测试SQL Server存储子系统

    In this article we will learn how to test our storage subsystems performance using Diskspd The storage subsystem is one
  • Python读取mat文件——matlab的数据

    Python处理mat文件 1 读取2 数据格式 1 读取 很多人使用MATLAB并将数据存储在 mat文件中 这些文件是什么 这些文件包含MATLAB工作空间分配给它们的变量和对象列表 它作为字典导入到Python中 xff0c 其中键是
  • 我的毕设4.24—

    EEG 1 寻找数据2 读入数据3 了解数据3 处理数据 1 寻找数据 要找到关于情感的EEG数据集 by CSDN 2 读入数据 因为获取的数据集是mat文件 xff0c 解决Python读取mat文件 by 文本检索图书馆w pytho
  • 关于提高信息传输率三个方法之一——增加频带宽度

    转载原作 以下解释为什么增加频带宽度可减弱码间串扰 主要由于高频信号分量对波形影响是变得接近数字信号 xff0c 分界垂直 xff0c 减小斜坡 信道极限容量 任何实际的信道都不是理想的 xff0c 在传输信号时会产生各种失真以及带来多种干
  • CSMA/CD计算机网络(第七版)谢希仁 3-25 CSMA/CD

    计算机网络 xff08 第七版 xff09 谢希仁 3 25 假定站点A和B在同一个10Mb s以太网网段上 这两个站点之间的传播时延为225比特时间 站点A和B在t 61 0时同时发送了数据帧 当t 61 225比特时间 xff0c A和
  • L3-019 代码排版 (30 分) 别看 没改完

    太复杂了啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 不做了 include lt iostream gt include lt cstdio gt using namespace std string s bo
  • 无人机航线规划

    非最短非最长 xff0c 因为只有10个点 xff0c 直接搜 标题 xff1a 无人机航线规划 某海岛遭遇飓风灾害 xff0c 道路设施受损严重 救援部门为尽快探明主要交通干道的受损情况 xff0c 在地图上划定了主要交通干道的侦察点 x
  • 17蓝桥C语言B组 7.日期问题

    标题 xff1a 日期问题 小明正在整理一批历史文献 这些历史文献中出现了很多日期 小明知道这些日期都在1960年1月1日至2059年12月31日 令小明头疼的是 xff0c 这些日期采用的格式非常不统一 xff0c 有采用年 月 日的 x