一道模拟巨多坑的题!求助!

P1202 [USACO1.1] 黑色星期五Friday the Thirteenth

```cpp //无敌打表来袭!! // luogu-judger-enable-o2 #include<cstdio> using namespace std; bool isLeapYear(int year){ if(year == 1900 || year == 2000 || year == 2100 || year == 2200 || year == 2300 || year == 2400 || year == 2500){ if(year % 400 == 0){ return true; } }else if(year % 4 == 0){ return true; } return false; } int main(){ int n; scanf("%d",&n); int ans[7] = {}; int day = 1; for(int i = 1900;i < 1900 + n;i++){ if(isLeapYear(i) == false){ for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 28;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 30;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 30;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 30;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 30;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } }else{ for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 29;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 30;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 30;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 30;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 30;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } for(int j = 0;j < 31;j++){ if(j == 13){ if(day == 1){ ans[day - 1]++; }else if(day == 2){ ans[day - 1]++; }else if(day == 3){ ans[day - 1]++; }else if(day == 4){ ans[day - 1]++; }else if(day == 5){ ans[day - 1]++; }else if(day == 6){ ans[day - 1]++; }else if(day == 7){ ans[day - 1]++; } } day++; if(day > 7){ day = 1; } } } } printf("%d ",ans[6]); printf("%d ",ans[0]); printf("%d ",ans[1]); printf("%d ",ans[2]); printf("%d ",ans[3]); printf("%d ",ans[4]); printf("%d ",ans[5]); return 0; } ```
by 夏义博 @ 2018-10-26 22:49:41


|