首页 > 其他分享 >#373. 「USACO1.1」Friday the Thirteenth 题解

#373. 「USACO1.1」Friday the Thirteenth 题解

时间:2023-02-25 10:00:16浏览次数:56  
标签:知识点 30 int 题解 31 Friday USACO1.1 373

#373. 「USACO1.1」Friday the Thirteenth 题解

题目传送门

题目知识点

模拟+数学

闰年知识点

题意说明

写一个程序来计算在n年里13日落在星期一,星期二......星期日的次数。这个测试从1900年1月1日到1900+n-1年12月31日.n是一个非负数且不大于400。请不要预先算好数据!
很明显,这道题会考察到和年份有关的知识点(已在知识点中列出,欢迎查阅),但是总结一下就是四年一闰,百年不闰,四百年又闰。(不会的话去问小学老师

代码+解释

#include<bits/stdc++.h>//伟大的万能头文件
using namespace std;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},b[8];//a数组预处理每月天数,b数组用来存储答案
int main()
{
    int n,c=0;
    cin>>n;
    for(int i=1900;i<1900+n;i++)
    {
        int f=0;//闰年标记
        if((i%4==0)&&(i%100)||(i%400==0))
			f=1;//判断是否为闰年,若成立则f赋值为真
        for(int j=1;j<=12;j++)
        {
            int e=0;//如果为闰年,2月就要多一天,e在闰年情况下使2月的循环变量增大1
            if(f&&j==2)
				e=1;
            for(int k=1;k<=a[j]+e;k++)//k循环日期,m[j]即j月的天数
            {
                c++;//st每天增加
                if(k==13) 
					b[c%7]++;
            }
            //防抄袭
            if(e==1)
				e=0;//2月用过后要清零
        }
    }
    cout<<b[6]<<" "<<b[0]<<" "<<b[1]<<" "<<b[2]<<" "<<b[3]<<" "<<b[4]<<" "<<b[5];//输出顺序是Sat Sun Mon Tue Wed Thu Fri
    return 0;//华丽结束
}

欢迎大家指出错误

标签:知识点,30,int,题解,31,Friday,USACO1.1,373
From: https://www.cnblogs.com/ABBAawa/p/17153827.html

相关文章

  • match 题解
    题面题目描述一个匹配模式是由一些小写字母和问号组成的一个字符串。当一个由小写字母组成的字符串\(s\),长度和匹配模式长度相同,并且在对应的每一位都相等或模式串相应......
  • 题解 Codeforces 1746F Kazaee
    题意给定长度为\(n\)的数组\(a\),和\(q\)次操作,支持:给定\(i,x\),修改\(a_i\)为\(x\)给定\(l,r,k\),查询\([l,r]\)中是否每个数的出现次数都是\(k\)的倍数......
  • 题解 LOJ P2393 「JOISC 2017 Day 2」门票安排
    题意咕咕咕。题解这题太神了,无限膜拜p_b_p_b,搬运一波题解。首先考虑二分。题意等价于选一些区间进行反转。首先注意到反转的区间两两有交,不然不反转一定更优。设反转......
  • P8822 [传智杯#3 初赛] 课程报名 题解
    题目传送门题目大意有一种课程,初始定价为\(v\)元;每报名\(m\)个学员,课程的定价就要提升\(a\)元,一共有\(n\)个学员报名。解题思路因为一共有\(n\)个学员报名,所......
  • P8717 [蓝桥杯 2020 省 AB2] 成绩分析 题解
    题目传送门题目大意计算\(n\)个人考试的最高分、最低分和平均分。解题思路输入\(n\)个人成绩的同时,计算最大值,最小值和总数。再将总数除以\(n\)算出平均值并保......
  • AtCoder Beginner Contest 285 A-F 题解
    比赛链接A-EdgeChecker2判断y==2x||y==2x+1即可。点击查看代码#include<cstdio>#include<algorithm>#include<cstring>usingnamespacestd;inta......
  • AtCoder Beginner Contest 283 A-F 题解
    A-Power快速幂板子点击查看代码#include<cstdio>#include<algorithm>usingnamespacestd;#defineintlonglongintn,m;intqpow(inta,intb){ intr......
  • CF837D题解
    CF837D题解没有用的话今天晚上在CF题库里随便选题选的,感觉还不错的题。昨天就开始停自习了,但是一直在摆烂(悲,自从上个学期就这样了,非常怀念一年前的机房,风清气正,大家都......
  • THUPC2019 令人难以忘记的题目名称 题解
    首先感性感觉这个东西是比较有循环节的,但这是后话。最后几步一定是差分相同->每个数相同->全为0。不平凡地猜想差分\(k\)次全\(0\)等价于可以\(k\)步胜利。假设......
  • Universial Cup 题解
    开始瞎做题了全部都写了简要题意,题解默认折叠,可以来做做(?UniversialCup官网The1stUniversalCup比赛名称&题解链接题解包含题目QOJlinkCodeforcesGymLin......