标签:
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:
Do not use any built-in date functions in your computer language.
Don‘t just precompute the answers, either, please.
20
36 33 34 33 35 35 34
从一个时间开始到另一个时间内 每个月的13号在每一周的周几的次数 从周日开始一次输出
简单模拟 日期的模拟绝对最大的弱项。。。。
/*
ID: Alpha Augur
PROG: friday
LANG: C++
*/
#include <iostream>
#include <string>
#include <cstdio>
#include <cstring>
#include <map>
using namespace std;
int days[12] = {31,31,28,31,30,31,30,31,31,30,31,30};
int ans[7];
int main(){
freopen("friday.in", "r", stdin);
freopen("friday.out", "w", stdout);
int n, last = 3;
cin >> n;
for(int year = 1900; year < 1900+n; ++year){
if(year%400==0 || (year%100!=0 && year%4==0)){
days[2] = 29;
}
for(int month = 0; month < 12; ++month){
last=(last+days[month])%7;
ans[last]++;
}
days[2] = 28;
}
for(int i = 0; i < 6; ++i){
cout << ans[(i+6)%7] << " ";
}
cout << ans[5] << endl;
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
【USACO1.1.3】Friday the Thirteenth
标签:
原文地址:http://blog.csdn.net/u012431590/article/details/46761787