ZOJ 3876 May Day Holiday[通俗易懂]

ZOJ 3876 May Day Holiday

大家好,又见面了,我是全栈君。

As a university advocating self-learning and work-rest balance, Marjar University has so many days of rest, including holidays and weekends. Each weekend, which consists of Saturday and Sunday, is a rest time in the Marjar University.

The May Day, also known as International Workers’ Day or International Labour Day, falls on May 1st. In Marjar University, the May Day holiday is a five-day vacation from May 1st to May 5th. Due to Saturday or Sunday may be adjacent to the May Day holiday, the continuous vacation may be as long as nine days in reality. For example, the May Day in 2015 is Friday so the continuous vacation is only 5 days (May 1st to May 5th). And the May Day in 2016 is Sunday so the continuous vacation is 6 days (April 30th to May 5th). In 2017, the May Day is Monday so the vacation is 9 days (April 29th to May 7th). How excited!

Edward, the headmaster of Marjar University, is very curious how long is the continuous vacation containing May Day in different years. Can you help him?

Input

There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case, there is an integer y (1928 <= y <= 9999) in one line, indicating the year of Edward’s query.

Output

For each case, print the number of days of the continuous vacation in that year.

Sample Input

3
2015
2016
2017

Output

5
6
9

之所以记下这个题,是想提醒一下自己写关于闰年的题目时一定要用闰年规则进行判断,别直接除4!!!

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#include<cmath>
#define ls (u<<1)
#define rs (u<<1|1)
#define maxn 1010
#define ll long long
#define INF 1e9
using namespace std;
#define max(a,b) (a)>(b)?(a):(b)
#define min(a,b) (a)<(b)?(a):(b)
int d[maxn],c[maxn];
int main(){
    int T;
    scanf("%d",&T);
    while(T--){
        int n,num;
        scanf("%d",&n);
        int a = 0;
        for(int i=1929;i<=n;i++){
            if((i%4==0 && i%100!=0) || (i%400==0)){
   
   //记得要用闰年规则判断
                a ++;
            }
        }
        int b = n - 1928 - a;
        num = a*366 + b*365;//把从1928年5.1到n年5.1的天数算出来就行
        num %= 7;
        num += 2;
        num %= 7;
        if(num == 0 || num == 2){
            printf("6\n");
        }
        else if(num == 1){
            printf("9\n");
        }
        else if(num>=3&&num<=6){
            printf("5\n");
        }
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/l609929321/p/7295905.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108266.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Mac版本NavicatPremium15 激活码【2021最新】

    (Mac版本NavicatPremium15 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~70…

  • Linux xsync命令脚本

    Linux xsync命令脚本在/bin/目录下创建xsync脚本如下:#!/bin/bash#1.判断参数个数if[$#-lt1]thenechoNotEnoughArguement!exit;fi#2.遍历集群所有机器forhostinmasternode1node2doecho====================$host====================#3.遍历所有目录,挨个发送forfilein$@do#4…

  • python十进制转换_Python 进制转换

    python十进制转换_Python 进制转换提到进制转换这里需要了解int()这个内置函数,大多数人都会这样用:int(x)其目的一般是将x字符串转化为整数,int()除了这个作用外,还可以将其他进制数转化为十进制数,Python内置函数官方文档从官方文档中我们可以得知内置函数:int(x,base=10)山东掌趣网络科技第二个参数默认base=10,页就是我们常用的字符串转换为十进制整数,由此,我们改变第二个参数可以将其他进制的数转…

  • 本地Web服务器搭建[通俗易懂]

    本地Web服务器搭建[通俗易懂]1.Dreamweaver->新建站点->站点名称+本地站点文件夹->保存2.IE->Internet选项->安全标签->自定义级别(安全设置对话框)->启用“通过域访问数据源”->确定3.将webs.exe(WebServer)放至脚本根目录上一级目录,运行webs.exe4.启动浏览器输入IP地址:127.0.0.1即可访问本地的We

  • PHP redis安装扩展

    PHP redis安装扩展

    2021年10月18日
  • Java JDK 动态代理(AOP)使用及实现原理分析

    Java JDK 动态代理(AOP)使用及实现原理分析代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息​一、什么是代理?二、Java动态代理类三、JDK的动态代理怎么使用?四、动态代理怎么实现的?五、结论一、什么是代理?代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。代理模式UML图:简单结构示意图:为了保持行为的…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号