43:相关月

2018-06-17 23:06:51来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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 }

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:c++趣味之返回void

下一篇:21:最大质因子序列