[蓝桥杯 2017 省 B] 日期问题

news/2024/10/15 7:59:40/

小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在 1960 年 1 月 1 日至 2059 年 12 月 31 日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。

比如 02/03/04,可能是 2002 年 03 月 04 日、2004 年 02 月 03 日或 2004 年 03 月 02 日。

给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?

输入 #

02/03/04

输出 #

2002-03-04  
2004-02-03  
2004-03-02 

#include <iostream>
using namespace  std;
int days[13]={0,31,30,31,30,31,30,31,31,30,31,30,31};
bool check_valid(int year,int month,int day){  //重点 
    if(month==0 ||month>12){ //判断 
        return false;
        if(day==0 ||month!=2 &&day>days[month])
            return false;
            if(month==2){  //如果是二月特殊情况 
                int leap=year%100!=0 &&year%4==0 ||year%400==0;
                if(day>days[2]+leap)
                return false;
            }        
    }
    return true;
}

int main(int argc, char** argv) {
    int a,b,c;
    scanf("%a/%b/%c",&a,&b,&c);
    for(int i=19600101;i<=20251231;i++){
        int year=i/1000, month=i/100%100, day=i%100; //分别取年月日 
        if(check_valid(year,month,day)){  //自定义方法,检查是否满足条件。
            if(year%100==a && month==b &&day==c ||month==a &&day==b &&year%100==c ||day==a &&month==b &&year%100==c){ //重点 
                printf("%d-%02d-%02d\n",year,month,day);
            }
        }
    }
    return 0;
}


http://www.ppmy.cn/news/1539343.html

相关文章

std::vector 小问题记录,使用注意事项!!

这是一段有问题的代码&#xff0c;从运行上来看没什么问题。这里的vecotr 容器明显的被滥用了。26行声明了新的容器变量 tiles并把cells的数组变量复制给了 tiles; 这里就发生了很多不必要的浪费&#xff01;vector是可扩容容器&#xff0c;会根据元素数量的大小&#xff0c;自…

【C++ 算法进阶】算法提升二

算法提升二 最大分配工资问题 &#xff08;贪心&#xff09;题目分析代码详解 数组有序问题 &#xff08;贪心&#xff09;题目分析代码详解 消息流问题 &#xff08;数据结构设计&#xff09;题目分析代码详解 可乐问题 &#xff08;Coding能力&#xff09;题目分析代码详解 司…

PCL 渐进式形态学滤波

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 如果不太了解点云数学形态学的基本理论,可以先阅读这篇文章:https://blog.csdn.net/dayuhaitang1/article/details/123172437。形态学中的窗口结构一直存在着这样的问题:如果窗口结构元尺寸过小,则无法去除一些…

性能测试:流量回放工具-GoReplay!结合一款无需CA证书即可抓取HTTPS明文的工具,简直无敌

性能测试&#xff1a;流量回放工具-GoReplay&#xff01;结合一款无需CA证书即可抓取HTTPS明文的工具&#xff0c;简直无敌。 GoReplay 是一个开源网络监控工具&#xff0c;可以将实时 HTTP 流量捕获并重放到测试环境。 应用成熟的过程中&#xff0c;测试所需的工作量往往会成…

移动端响应式布局(媒体查询+rem,vw+rem,flexible.js+rem)

一、媒体查询 1.主要作用 检测设备大小是否发生改变&#xff0c;可以实现响应式布局。 2.响应式布局 会根据设备的大小显示出不同的布局效果&#xff0c;在大设备和小设备上显示的布局可能是不一样的。 要想知道设备大小的改变&#xff0c;需要借助于媒体查询去实现。 3.语法…

提升正则表达式性能:全面解析Golang regexp/syntax包

提升正则表达式性能&#xff1a;全面解析Golang regexp/syntax包 介绍基本概念正则表达式简介regexp/syntax包的作用 regexp/syntax包的结构核心组件结构详解ParserRegexpOpInstProg 使用Parser解析正则表达式解析正则表达式AST的结构 分析解析后的正则表达式树AST节点类型分析…

特惠电影票API接口的优势功能以及对接因素?

特惠电影票对接接口通常是指允许第三方开发者或平台通过编程方式接入电影票预订服务的API。这些接口可以提供查询电影场次、座位信息、票价、订票、支付等功能。以下是一些关键点和考虑因素&#xff0c;以及一些提供特惠电影票API接口的平台&#xff1a; 关键功能 电影场次信息…

【修订中】ffmpeg 知识点

一、两种安装方式 static FFmpeg binaries for macOS 64-bit Intel brew install ffmpeg 时间有点长 需要挂上代理 二、改