Friday the Thirteenth

/*
ID: m1871091
LANG: C++11                 
TASK: friday
*/
#define _CRT_SECURE_NO_WARNINGS
#define local

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;

int a[10];
int year = 1900,day=3;
int month[12] = { 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 };//从12到11月

int main(){
#ifdef local 
		freopen("friday.in", "r", stdin);
		freopen("friday.out", "w", stdout);
#endif // local
		int n;
		cin >> n;
		for (year; year < 1900 + n; year++){
			if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) month[2] = 29;
			for (int i = 0; i < 12; i++){
				day = (day + month[i]) % 7;     //注意初始值day=3
				a[day]++;
			}
			month[2] = 28;
		}
		cout << a[6] << " ";
		for (int i = 0; i < 5; i++){
			cout << a[i] << " ";
		}
		cout << a[5] << endl;
	return 0;
}

你可能感兴趣的:(C++,USACO,ACM入门)