USACO1.1.3 Friday the Thirteenth (friday)

来源:互联网 发布:java 获取绝对路径 编辑:程序博客网 时间:2024/05/18 01:56
1900年1月13号是星期六。然后每次加上这个月的天数再模7就行了。

注意判断闰年。


/*ID:shijiey1PROG:fridayLANG:C++*/#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n;int cnt[8];int mon[15] = {0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};void getFib(int year) {bool flag = false;if (year % 100) {if (!(year % 4)) flag = true;} else {if (!(year % 400)) flag = true;}if (flag) mon[2] = 29;else mon[2] = 28;}int main() {freopen("friday.in", "r", stdin);freopen("friday.out", "w", stdout);scanf("%d", &n);int date = 6;for (int i = 0; i < n; i++) {int year = i + 1900;getFib(year);for (int month = 1; month <= 12; month++) {cnt[date]++;date = (date + mon[month]) % 7;}}for (int i = 6; i < 13; i++) {if (i != 6) printf(" ");printf("%d", cnt[i % 7]);}printf("\n");return 0;}


0 0
原创粉丝点击