USACO-Friday the Thirteenth(黑色星期五)-Section1.2<3>
【英文原题】
Friday the Thirteenth
Is Friday the 13th really an unusual event?
That is, does the 13th of the month land on a Friday less often than
on any other day of the week? To answer this question, write a program
that will compute the frequency that the 13th of each month lands on
Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday over
a given period of N years. The time period to test will be from January
1, 1900 to December 31, 1900+N-1 for a given number of years, N. N is
positive and will not exceed 400.
Note that the start year is NINETEEN HUNDRED, not 1990.
There are few facts you need to know before you can solve this problem:
- January 1, 1900 was on a Monday.
- Thirty days has September, April, June, and November, all the rest
have 31 except for February which has 28 except in leap years when it
has 29. - Every year evenly divisible by 4 is a leap year (1992 = 4*498 so
1992 will be a leap year, but the year 1990 is not a leap year) - The rule above does not hold for century years. Century years
divisible by 400 are leap years, all other are not. Thus, the century
years 1700, 1800, 1900 and 2100 are not leap years, but 2000 is a leap
year.
Do not use any built-in date functions in your computer language.
Don't just precompute the answers, either, please.
PROGRAM NAME: friday
INPUT FORMAT
One line with the integer N.
SAMPLE INPUT (file friday.in)
20
OUTPUT FORMAT
Seven space separated integers on one line. These integers represent the number of times the 13th falls on Saturday, Sunday, Monday, Tuesday, ..., Friday.
SAMPLE OUTPUT (file friday.out)
36 33 34 33 35 35 34
【中文翻译】
题目描述
13号又是一个星期五。13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数。给出N年的一个周期,要求计算1900年1月1日至1900+N-1年12月31日中十三号落在周一到周日的次数,N为正整数且不大于400.
这里有一些你要知道的:
1、1900年1月1日是星期一.
2、4,6,11和9月有30天.其他月份除了2月都有31天.闰年2月有29天,平年2月有28天.
3、年份可以被4整除的为闰年(1992=4*498 所以 1992年是闰年,但是1990年不是闰年).
4、以上规则不适合于世纪年。可以被400整除的世纪年为闰年,否则为平年。所以,1700,1800,1900和2100年是平年,而2000年是闰年.
请不要调用现成的函数
请不要预先算好数据(就是叫不准打表)!
输入输出格式
输入格式:
一个正整数n.
输出格式:
**输出请从周六开始
输入输出样例
20
36 33 34 33 35 35 34
#include<stdio.h>
bool isLeapYear(int year)//判断闰年
{
if(year == || year == || year == || year == || year == || year == || year == ){
if(year % == )
{
return true;
}
}
else if(year % == )
{
return true;//是闰年
}
return false;//不是闰年
}
int main(){
int n;
scanf("%d",&n);
int ans[] = {};
int day = ;
for(int i = ;i < + n;i++)
{
if(isLeapYear(i) == false)
{
for(int j = ;j < ;j++)
{//平年1月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年2月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年3月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年4月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年5月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年6月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年7月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年8月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年9月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年10月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年11月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//平年12月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
}
else{
for(int j = ;j < ;j++){//闰年1月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年2月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年3月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年4月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年5月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年6月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年7月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年8月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年9月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年10月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年11月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
for(int j = ;j < ;j++){//闰年12月
if(j == ){
if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}else if(day == ){
ans[day - ]++;
}
}
day++;
if(day > ){
day = ;
}
}
}
}
printf("%d ",ans[]);
printf("%d ",ans[]);
printf("%d ",ans[]);
printf("%d ",ans[]);
printf("%d ",ans[]);
printf("%d ",ans[]);
printf("%d ",ans[]);
printf("\n");
return ;
}
USACO-Friday the Thirteenth(黑色星期五)-Section1.2<3>的更多相关文章
- Friday the Thirteenth 黑色星期五 USACO 模拟 超级简单做法
1003: 1.1.3 Friday the Thirteenth 黑色星期五 时间限制: 1 Sec 内存限制: 128 MB提交: 8 解决: 8[提交] [状态] [讨论版] [命题人:外部 ...
- USACO 1.1.3 Friday the Thirteenth 黑色星期五
Description 13号又是一个星期5.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至 ...
- JZOJ.1002【USACO题库】1.1.3 Friday the Thirteenth黑色星期五
每日一博第一天! 保持你的决心 题目描述 13号又是星期五是一个不寻常的日子吗? 13号在星期五比在其他日少吗?为了回答这个问题,写一个程序来计算在n年里13 日落在星期一,星期二......星期日的 ...
- USACO . Friday the Thirteenth
Friday the Thirteenth Is Friday the 13th really an unusual event? That is, does the 13th of the mont ...
- USACO Section 1.1-3 Friday the Thirteenth
Friday the Thirteenth 黑色星期五 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数. 给出N年的一个 ...
- USACO/friday
Friday the Thirteenth 黑色星期五 描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的 ...
- USACO Section1.1 Friday the Thirteenth 解题报告
friday解题报告 —— icedream61 博客园(转载请注明出处) -------------------------------------------------------------- ...
- USACO Training Section 1.1黑色星期五Friday the Thirteenth
题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...
- USACO Section1.2
section1.1主要包括四道题和两个编程知识介绍.下面将对这6个部分内容进行学习. Your Ride Is Here 这道题没什么难度,读懂题目意思就行:把两个字符串按照题目要求转换成数字,然后 ...
随机推荐
- spring mvc入门教程 转载自【http://elf8848.iteye.com/blog/875830】
目录 一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...
- 基于Linux Shell的开机启动服务
CentOS重启后,很多服务需要手动启动,很是麻烦,今天把需要开机启动或关闭的服务整理了一下,放入Linux Shell中,再将该Shell加入/etc/rc.local中,即可实现存储的自动挂载.S ...
- Elatsicsearch分片和副本相关知识
1.分片和副本 1.1什么是分片 简单来讲就是咱们在ES中所有数据的文件块,也是数据的最小单元块,整个ES集群的核心就是对所有分片的分布.索引.负载.路由等达到惊人的速度. 分片是把索引数据切分成多个 ...
- python有哪些关键字?让他自己“吐”出来!
通过调用库来输出!for循环控制! 源代码: import keyword c = 0 for i in keyword.kwlist: print(i) c += 1 代码截图: 哈哈,关键字: F ...
- Win7打开新的文件夹总会以新窗口的形式打开
首先可以在 组织-->文件夹和搜索选项 中设置“在同一窗口中打开每个文件夹” 如果设置后不起作用还可以 管理员方式执行以下两条命令 在开始菜单-运行中输入regsvr32 "%Sy ...
- 【LeetCode】删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...
- 51nod1613
题意:给定n个正面朝上的硬币,每次可以翻转k个硬币,求至少多少次翻转能使之全部反面朝上. 神犇题解 我真的吐槽不能了..这题能做?! 极其复杂的分类讨论..膜拜这位爷.
- EntityFramework 学习 一 Table-Valued Function in Entity Framework 5.0
USE [SchoolDB] GO /****** Object: UserDefinedFunction [dbo].[GetCourseListByStudentID] */ SET ANSI_N ...
- EntityFramework 学习 一 Model Browser
我们已经为School表创建第一个实体数据模型,可视化的EDM设计器不显示所有的实体,而是显示和数据库中对应的表和视图 Model Browser为你提供关于所有对象和函数的信息, Diagrams ...
- Eclipse debug neutron-server
1 首先停掉neutron-server kill neutron-server in screen by ctr-c q-svc 2 cp /usr/local/bin/neutron-server ...