问题描述

试题编号: 201503-3
试题名称: 节日
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。
  现在,给你a,b,c和y1, y2(1850 ≤ y1, y2 ≤ 2050),希望你输出从公元y1年到公元y2年间的每年的a月的第b个星期c的日期。
  提示:关于闰年的规则:年份是400的整数倍时是闰年,否则年份是4的倍数并且不是100的倍数时是闰年,其他年份都不是闰年。例如1900年就不是闰年,而2000年是闰年。
  为了方便你推算,已知1850年1月1日是星期二。
输入格式
输入包含恰好一行,有五个整数a, b, c, y1, y2。其中c=1, 2, ……, 6, 7分别表示星期一、二、……、六、日。
输出格式
对于y1和y2之间的每一个年份,包括y1和y2,按照年份从小到大的顺序输出一行。
  如果该年的a月第b个星期c确实存在,则以"yyyy/mm/dd"的格式输出,即输出四位数的年份,两位数的月份,两位数的日期,中间用斜杠“/”分隔,位数不足时前补零。
  如果该年的a月第b个星期c并不存在,则输出"none"(不包含双引号)。
样例输入
5 2 7 2014 2015
样例输出
2014/05/11
2015/05/10
评测用例规模与约定
所有评测用例都满足:1 ≤ a ≤ 12,1 ≤ b ≤ 5,1 ≤ c ≤ 7,1850 ≤ y1, y2 ≤ 2050。

代码

#include <iostream>
using namespace std;
int m[2][13]={{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
int leapyear(int year)
{return (year%4==0&&year%100!=0)||year%400==0;
}int main()
{int i,j,a,b,c,y1,y2,weekd,day,y,days,data;cin>>a>>b>>c>>y1>>y2;//计算1850年到起始年的天数for(days=0,i=1850;i<y1;i++)days+=365+leapyear(i);//计算年月日并且输出for(i=y1;i<=y2;i++){//0为非闰年,1为闰年y=leapyear(i);//计算从1850年开始,到i年a月1日的天数for(data=days,j=1;j<a;j++)data+=m[y][j];// 计算i年a月1日的前一天为星期几weekd=1+data%7;// 计算i年的a月第b个星期c是当月的几号day=(b-1)*7+((weekd>=c)?(c+7-weekd):(c-weekd));if(day>m[y][a])cout<<"none"<<endl;else{cout<<i<<"/";if(a<10)cout<<"0";cout<<a<<"/";if(day<10)cout<<"0";cout<<day<<endl;}// 为计算下一年做准备:计算从1850年到下一年开始的天数days+=365+leapyear(i);}return 0;
}

转载于:https://www.cnblogs.com/5211314jackrose/p/7529337.html

CCF - 201503-3 - 节日相关推荐

  1. c语言炉石传说算法设计,CCF-CSP题解 201609-3 炉石传说

    模拟. 注意随从的编号在\(summon\)和\(attack\)随从死亡时都可能改变. #include using namespace std; struct tNode { int attack ...

  2. CCF系列题解--2015年3月第三题 节日

    问题描述 有一类节日的日期并不是固定的,而是以"a月的第b个星期c"的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日. 现在,给你a,b,c和y1, y2(1850 ≤ ...

  3. *6-2 CCF 2015-03-3 节日

    节日 题目描述 源代码 题目描述 源代码 #include<iostream> #include<cstring> #include<vector> #includ ...

  4. CCF CSP认证菜鸟刷题日志

    CCF CSP菜鸟刷题日志(c/c++) 本萌新写给自己看的,要是有大佬路过,请多多指教orz 立个flag:每日一更,至201903 9月15ccf csp,冲鸭! 今天(2019.8.18)起每天 ...

  5. CCF认证历年真题 满分代码(更新至2018年12月)

    目标是集齐所有CCF认证试题的满分代码! 每次考试出题一般规律: 第一题:水题(稍微有些编程经验就可以写) 第二题:小模拟(处理比较简单的问题,掌握C++STL很有帮助) 第三题:大模拟(处理复杂的问 ...

  6. CCF认证历年真题 满分代码

    目标是集齐所有CCF认证试题的满分代码! 每次考试出题一般规律: 第一题:水题(稍微有些编程经验就可以写) 第二题:小模拟(处理比较简单的问题,掌握C++STL很有帮助) 第三题:大模拟(处理复杂的问 ...

  7. CCF认证历年试题解【网上跟帖,请不要使用称呼】

    程序改变现实,软件统治世界. 程序员需要有精益求精的工匠精神,追求逻辑的极简.时间的最少和存储的最省,并且懂得其中的平衡. 数据表示需要优先考虑,对于许多问题,找到表示该问题的数据结构,问题自然就解决 ...

  8. ccf认证俄罗斯方块java_CCF认证历年试题 - osc_h3robkrt的个人空间 - OSCHINA - 中文开源技术交流社区...

    CCF认证历年试题 不加索引整理会死星人orz 第一题: CCF201712-1 最小差值(100分) CCF201703-1 分蛋糕(100分) CCF201612-1 中间数(100分) CCF2 ...

  9. CCF历年真题整理【已更新至202104】

    说明:本文持续更新,若长时间未更新,请评论催催我. 以下题目均来自cspro.org,点击进入测试页面,侵删歉. 部分题目我已经解决,并给出参考代码.然而有些我还没有尝试解决,但先把题目贴给大家,大家 ...

最新文章

  1. Java中实现六种图像处理的效果(灰度化、马赛克效果、去背景实现、珠纹化实现、黑白版画效果、油画效果)
  2. springboot: Spring Data JpaRepository
  3. hard sampling
  4. 【Java操作】IDEA 导入Springboot 项目:
  5. 交叉编译器arm-linux-gcc
  6. 商城html源码_Java开源商城源码推荐,从菜鸡到大神,永远绕不开的商城系统
  7. http 412 precondition failed
  8. day25 java的集合(2)collection
  9. ApacheCN 大数据译文集 20211206 更新
  10. 一般算术表达式转换成后缀式
  11. 未来已来?揭开量子计算机的神秘面纱
  12. 详细解读windows无法ping通虚拟机的原因
  13. 华为BFD的配置规范
  14. abb机器人searchl报错_ABB机器人常用指令介绍——ABB机器人
  15. Excel如何将单元格数据拆分并转为多行
  16. 在谷歌Android都有哪些组,谷歌Android阵营引领了哪些主流技术?
  17. Arduino、AB相增量式光电编码器测位移和速度方向
  18. 你真的了解单点登录(SSO)吗? 单点登录实现方式
  19. TPM分析笔记(九)TPM资源实体-句柄
  20. Armijo-Goldstein准则与Wolfe-Powell准则

热门文章

  1. Thunder团队Beta周贡献分分配结果
  2. 【Unity】Planar Shadows平面阴影的实现
  3. jmeter命令行压测
  4. [译]开始学习webpack
  5. [iphone-tabbar]如何自定义TabBarController
  6. BIOS INT 10-13功能调用的“另类”玩法
  7. Docker 网络基础原理
  8. java巴特沃斯滤波器编程_巴特沃斯(Butterworth)滤波器 (1)
  9. python写一个自动登录脚本_Python 脚本登录交换机实现自动配置备份
  10. 怎么确定迭代器后面还有至少两个值_为什么range不是迭代器?range到底是什么类型?