CCF 节日

问题描述
  有一类节日的日期并不是固定的,而是以“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。

题意如题,就是计算星期几,暴力就可以了,先算出每年的1月1日是星期几,再算出每个月的1号是星期几,再判断一下找到第几个星期几输出就行了。

#include <cstdio>
#include <iostream>
using namespace std;
int a,b,c,y1,y2,y;
int judge(int y) //返回真值则为闰年
{if((y%4==0&&y%100!=0)||y%400==0) return 1;return 0;
}
int d[15]={0,31,0,31,30,31,30,31,31,30,31,30,31};
int main()
{while(cin>>a>>b>>c>>y1>>y2){c--;int sum=1;for(int y=1850;y<y1;y++){if(judge(y)) sum+=366;else sum+=365;sum=sum%7;//if(y==2013) printf("%d\n",sum);
        }//printf("%d**\n",sum+1);for(int y=y1;y<=y2;y++){if(judge(y)) d[2]=29;else d[2]=28;for(int i=1;i<=12;i++){//if(i==a) printf("%d***\n",sum+1);if(i==a){int tmp=0;if(sum>c)tmp=7-sum+c+1+(b-1)*7;elsetmp=c-sum+1+(b-1)*7;if(tmp>d[i])puts("none");elseprintf("%d/%02d/%02d\n",y,a,tmp);}//printf("y:%d m:%d xingqi:%d\n",y,i,sum+1);sum=(sum+d[i])%7;}}}return 0;
}

 

转载于:https://www.cnblogs.com/Ritchie/p/6179349.html

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

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

相关文章

回文数算法

1、回文数&#xff1a;一种数字&#xff0c;如&#xff1a;12321, 这个数字正读是12321&#xff0c;倒读也是12321&#xff0c;即&#xff1a;将这个数的数字按相反的顺序重新排列后&#xff0c;所得到的数和原来的数一样。回文数判别算法&#xff08;java实现&#xff09;impo…

深入了解scanf() getchar()和gets()等函数之间的区别

----------------------------------------------------| 问题描述一&#xff1a;&#xff08;分析scanf()和getchar()读取字符&#xff09; |-------------------------------------------------- scanf(), getchar()等都是标准输入函数&#xff0c;一般人都会觉得这几个函数…

java基础集合简介Map(三)下

From: https://www.cnblogs.com/douyu2580860/p/8358768.html --Map接口简介 今天来看一看map集合&#xff0c;map映射接口&#xff0c;用于存放键值对&#xff0c;<key,value>&#xff0c;通过key来查找value,顾名思义key不能为空&#xff0c;唯一且不重复&#xff0c;不…

横向量与矩阵的乘积

设Tj(Tj1, Tj2, ..., Tjn)为横向量。而iδ是Tj中第δ位不为零的元素&#xff0c;1≤δ≤z。 令hjTjH, 则hj是TH的第j行。且有 hjΣ(ki1, i2, ..., iz)Tj,kHk. 从上式看&#xff0c; &#xff08;1&#xff09;可以将横向量的第k位视为右边矩阵第k行是否叠加的控制信号。 &#…

MySQL日期时间函数大全(转)

DAYOFWEEK(date) 返回日期date是星期几(1星期天,2星期一,……7星期六,ODBC标准)mysql> select DAYOFWEEK(1998-02-03);   -> 3 WEEKDAY(date)  返回日期date是星期几(0星期一,1星期二,……6 星期天)。 mysql> select WEEKDAY(1997-10-04 22:23:00);   -> 5 my…

C语言常见错误

对于刚学编程&#xff0c;刚接触C的新手来说&#xff0c;编译运行报错是最头疼的一件事&#xff0c;爆出一堆英文&#xff0c;英语差一点的又不知道什么意思&#xff0c;所以也不知道如何去改&#xff0c;在此&#xff0c;我给大家传一份常见错误中英文对照表及简单解释&#x…

screen 断开 screen -r 不能进入断开的会话

From: https://www.wrox.org/archives/541 screen意外断开后screen -r *** 命令不能进入断开的会话&#xff0c;出现如下提示&#xff1a; There is a screen on: 11103.*** (Attached) There is no screen to be resumed matching ***. 这个时候可以用下面这条命令进入&…

mysql数据迁移

[rootdns var]# service mysqld stop Shutting down MySQL.. [rootdns bin]# ./mysql_install_db --usermysql --datadir/data/mysql_data2转载于:https://blog.51cto.com/alwaysyunwei/1260567

从getmemery()函数看内存管理、函数传参等一系列问题

在C 面试题目中&#xff0c;会经常出现getmemery()函数的改错题&#xff0c;比如下面这道题&#xff0c; 例一&#xff1a;代码如下&#xff1a; [cpp] view plaincopy #include <stdio.h> char *getmemery() { char p[] "hello world!"; …

Java中array、List、Set互相转换

From: https://www.cnblogs.com/yysbolg/p/9977365.html 数组转List String[] staffs new String[]{"A", "B", "C"}; List staffsList Arrays.asList(staffs);//注意: Arrays.asList() 返回一个受指定数组决定的固定大小的列表。所以不能做 a…

Apache Shiro 使用手册(三)Shiro 授权

授权即访问控制&#xff0c;它将判断用户在应用程序中对资源是否拥有相应的访问权限。 如&#xff0c;判断一个用户有查看页面的权限&#xff0c;编辑数据的权限&#xff0c;拥有某一按钮的权限&#xff0c;以及是否拥有打印的权限等等。 一、授权的三要素授权有着三个核心元素…

UVa 10026 - Shoemaker's Problem

题目大意&#xff1a;鞋匠有n个任务&#xff0c;第i个任务要花费ti天&#xff0c;同时第i个任务每耽误一天要有fi的罚金。求完成所有任务的最小罚金。 虽然知道是贪心&#xff0c;可是并不确定如何作贪心选择&#xff0c;只好“取经”了...假如有两个任务i和j&#xff0c;先做i…

mybatis中LIKE模糊查询的几种写法以及注意点

From: https://blog.csdn.net/zhenwei1994/article/details/81876278 mybatis中对于使用like来进行模糊查询的几种方式&#xff1a; &#xff08;1&#xff09;使用${...} 注意&#xff1a;由于$是参数直接注入的&#xff0c;导致这种写法&#xff0c;大括号里面不能注明jdb…

c头文件(.h)的作用

C语言的著作中&#xff0c;至今还没发现把.h文件的用法写的透彻的。在实际应用中也只能依葫芦画瓢&#xff0c;只知其然不知其所以然&#xff0c;甚是郁闷&#xff01;闲来无事&#xff0c;便将搜集网络的相关内容整理一下&#xff0c;以便加深自己的理解 理论概述&#xff1a;…

在VS2012中实现Ext JS的智能提示太简单了

Visual Studio 2012太强大了&#xff0c;居然能自己会去提取Ext JS的类的属性和方法&#xff0c;从而实现只能提示。下面就来介绍一下实现这个功能。在Visual Studio 2012中随便创建一个Web项目&#xff0c;我创建了一个空的Web项目&#xff0c;目录结构如下图所示&#xff1a;…

tomcat bug之部署应用的时候经常会发上startup failed due to previous errors

在tomcat上部署应用的时候经常会发上startup failed due to previous errors错误。这个错误产生以后经常会让人摸不到头脑。以下是几点查找经验&#xff1a; 1.web.xml文件&#xff0c;这个文件中定义了很多web服务启动需要的类、xml文件&#xff0c;如果这些找不到就会发生sta…

mybatis 查询之神坑

先看一个示例&#xff1a; 数据表数据&#xff1a; mybatis类和查询语句&#xff1a; 1. 当UserInfoMap中所有字段(包含association)都为NULL的话&#xff0c;getUserInfo的返回结果是个null&#xff0c;即使查询的记录存在&#xff01;运行结果如下&#xff1a; 2019-06-26 …

微软万圣节文件

为什么80%的码农都做不了架构师&#xff1f;>>> http://www.aka.org.cn/Docs/halloween/halloweenDoc.html 微软万圣节文件 圣节文件在微软以外被用作称呼一系列来源可靠的备忘录&#xff0c;内容是微软总部用来对付开源软件&#xff08;特别是Linux&#xff09;的…

linux C 学习 简单字符串逆序输出

看了下网上的字符串逆序输出&#xff0c;都相对复杂&#xff0c;下面给一个简单的字符串逆序输出小程序实现: [cpp] view plaincopy #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int i; int n; …

【干货分享】流程DEMO-补打卡

流程名&#xff1a; 补打卡申请 业务描述&#xff1a; 当员工在该出勤的工作日出勤但漏打卡时&#xff0c;于一周内填写补打卡申请。 流程相关文件&#xff1a; 流程包.xml 流程说明&#xff1a; 直接导入流程包文件&#xff0c;即可使用本流程 表单&#xff1a; 流程&#xf…