43:相关月
时间:2022-05-08
本文章向大家介绍43:相关月,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
43:相关月
总时间限制: 1000ms 内存限制: 65536kB描述
“相关月”是指那些在一年中月份的第一天星期数相同的月份。例如,九月和十二月是相关的,因为九月一日和十二月一日的星期数总是相同的。两个月份相关,当且仅当两个月份第一天相差的天数能被7整除,也就是说,这两天相差为几个整星期。又如,二月和三月一般都是相关月,因为二月有28天,能被7整除,也恰好为4个星期。而在闰年,一月和二月的相关月与它们在平年的相关月是不同的,因为二月有29天,其后每个月份的第一天星期数都推后了一天。
输入输入的第一行为整数n(n ≤ 200), 其后n行,每行三个整数,依次为一个年份和两个月份,整数之间用一个空格分隔。输出输出有n行,对应于每个输入的年份和相应两个月份, 如果这两个月份是相关的,则输出YES; 否则,输出NO。样例输入
5
1994 10 9
1935 12 1
1957 1 9
1917 9 12
1948 1 4
样例输出
NO
NO
NO
YES
YES
来源北京大学医学部计算概论08期末考试题
1 #include<iostream>
2 using namespace std;
3 int month[21]={0,31,28,31,30,31,30,31,31,30,31,30,31};//非闰年
4 int rmonth[21]={0,31,29,31,30,31,30,31,31,30,31,30,31};//闰年
5 int flag=1;
6 int main()
7 {
8 int n;
9 int year;
10 int month1;
11 int month2;
12 cin>>n;
13 for(int i=1;i<=n;i++)
14 {
15 cin>>year>>month1>>month2;
16 if(month1>month2)
17 {
18 int d=month1;month1=month2;month2=d;
19 }
20 if((year%4==0&&year%100!=0)||year%400==0)
21 {
22 int begin=1;//默认第一天是星期一
23 for(int j=month1;j<=month2-1;j++)
24 {
25 for(int k=1;k<=rmonth[j];k++)
26 {
27 if(begin==7)
28 begin=1;
29 else
30 begin++;
31
32 }
33
34 }
35 if(begin==1)
36 cout<<"YES"<<endl;
37 else
38 cout<<"NO"<<endl;
39 }//闰年
40 else
41 {
42 int begin=1;//默认第一天是星期一
43 for(int j=month1;j<=month2-1;j++)
44 {
45 for(int k=1;k<=month[j];k++)
46 {
47 if(begin==7)
48 begin=1;
49 else begin++;
50 }
51 }
52 if(begin==1)
53 cout<<"YES"<<endl;
54 else
55 cout<<"NO"<<endl;
56 }//非闰年
57 }
58 return 0;
59 }
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浅谈Linux下修改/设置环境变量JAVA_HOME的方法
- Linux服务器配置多个svn仓库流程详解
- linux服务器显卡崩溃解决方案
- LINUX查看进程的4种方法(小结)
- Linux下的多线程编程实例解析
- CentOS使用expect批量远程执行脚本和命令
- Centos8最小化部署安装OpenStack Ussuri的详细教程
- 详解Xshell 常见问题及相关配置
- linux安装部署ftp图片服务器的实现方法
- Centos7配置fastdfs和nginx分布式文件存储系统实现过程解析
- 解决Linux常用命令“ll”失效或命令未找到的问题
- 手把手教你在腾讯云上搭建hive3.1.2的方法
- centos6超20TB磁盘的分区格式化的示例代码
- Linux 系统双网卡绑定配置实现
- Linux系统设置开机自动运行脚本的方法实例