1.1.3 Friday the Thirteenth 黑色星期五
Description
13号又是一个星期5。13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数。给出N年的一个周期,要求计算1900年1月1日至1900+N-1年12月31日中十三号落在周一到周日的次数,N为正整数且不大于400. 这里有一些你要知道的: 1900年1月1日是星期一.4,6,11和9月有30天.其他月份除了2月都有31天.闰年2月有29天,平年2月有28天.年份可以被 4整除的为闰年(1992=4*498 所以 1992年是闰年,但是1990年不是闰年)以上规则不适合于世纪年.可以被400整除的世纪年为闰年,否则为平年.所以,1700,1800,1900 和2100年是平年,而2000年是闰年.请不要预先算好数据(就是叫不准打表 0。0)!
Input
一个正整数n.
Output
七个在一行且相分开的整数,它们代表13日是星期六,星期日,星期一...星期五的次数.
Sample Input
20
Sample Output
36 33 34 33 35 35 34
思路:这是一道模拟题,定义一个数组记date=13时就进行++操作,首先我们还要考虑的是为什么res函数里面的k值和date值初值为1开始?答:因为我们进行到 i=month [flag] [i] -1 的时候k和date的值为0,所以我们需要在执行一次循环让他们初值为1。
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>typedef long long LL;
const long long INF = 0x3f3f3f3f;
const long long mod = 1e9+7;
const double PI = acos(-1.0);
const int dir4[4][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};
const int dir8[8][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}, {1, 1}, {-1, -1}, {1, -1}, {-1, 1}};
const int maxx = 100010;
using namespace std;
int day[10];
int month[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};
int judge(int n)
{if((n%4==0&&n%100!=0)||(n%400==0))return 1;return 0;
}
int res(int flag,int n,int k)
{int date=1;for(int i=0;i<12;i++)for(int j=1;j<=month[flag][i];j++){date++;date%=month[flag][i];k++;k%=7;if(date==13)day[k]++;}return k;
}
int main()
{int n,k=1;cin>>n;for(int i=1900;i<=1900+n-1;i++){k=res(judge(i),i,k);}cout<<day[6]<<" "<<day[0]<<" "<<day[1]<<" "<<day[2]<<" "<<day[3]<<" "<<day[4]<<" "<<day[5]<<endl;return 0;
}
1.1.3 Friday the Thirteenth 黑色星期五相关推荐
- Friday the Thirteenth 黑色星期五
** Friday the Thirteenth 黑色星期五 ** 解题思路来自NOCOW 题目: 13 号又是星期五是一个不寻常的日子吗? 13 号在星期五比在其他日少吗?为了回答这个问题,写一个程 ...
- USACO—1.1.3 Friday the Thirteenth 黑色星期五
题目描述: 1.1.3 Friday the Thirteenth 黑色星期五 (friday.pas/c/cpp) 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序 ...
- USACO黑色星期五Friday the Thirteenth
黑色星期五Friday the Thirteenth 嗯,虽然很水,但细节是真的多. 我闰年判断错了而且while循环都忘了(伤心) 题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为 ...
- 黑色星期五 Friday The Thirteenth
黑色星期五 洛谷P1202 这是一道很奇怪的题 我做了一遍 不会 两天后 会了
- 黑色星期五Friday the Thirteenth
题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...
- 洛谷P1202 [USACO1.1]黑色星期五Friday the Thirteenth
题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...
- [USACO1.1]黑色星期五Friday the Thirteenth
https://www.luogu.org/problemnew/show/P1202 又学了一招重载++ /* *@Author: STZG *@Language: C++ */ #include ...
- 洛谷 P1202 模拟 - 黑色星期五 Friday the Thirteenth
[题目描述] 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+ ...
- USACO Training Section 1.1黑色星期五Friday the Thirteenth
题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...
- 黑色星期五Friday the Thirteenth [USACO 1.2]
题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...
最新文章
- pci串口驱动安装失败_TSC TTP-243E Pluse装LTP并口驱动无法安装
- FPGA从Xilinx 的7系列学起(5)
- Qt-Creator编译pthread多线程程序的方法
- MongoDB基础命令
- mysql查逻辑表的分片规则_MySQL(19) Mycat分片(分库分表)配置
- python改背景颜色_Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
- python之路-操作系统
- 搭建微信小程序(前后端)
- linux 配置软件安装源
- Linux部署单体架构,从单体式架构迁移到微服务架构:三个策略叙述
- 什么是L2十档行情API接口
- 按键精灵-5-按键精灵控制脚本流程2
- android 光标的绘制,Android EditText(TextView)如何绘制闪烁的光标?
- 信息系统项目管理师(2022年) —— 第 3 章 项目立项管理
- 如何实现调用阿里云三方的api
- echarts地图城市坐标
- 关于致命性自主武器系统的报告
- Ruby on Rails 的秘笈是什么?
- 代码注释规范之Doxygen
- 使用JavaScript和OpenJSCAD创建用于3D打印的精确3D模型