/* ID:i_goodboy1 LANG:C++ TASK:friday */ #include <cstdio> #include <iostream> using namespace std; int ans[10]; int main() { freopen("friday.in","r",stdin); freopen("friday.out","w",stdout); int n; scanf("%d",&n); int u=0; int date[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; for(int i=0;i<n;i++) { if(((1900+i)%4==0 && (1900+i)%100!=0) || ((1900+i)%100==0 && (1900+i)%400==0)) date[2]++; for(int j=1;j<=12;j++) { for(int k=1;k<=date[j];k++) { u++; if(u>7) u%=7; if(k==13) ans[u]++; } } if(date[2]==29) date[2]=28; } for(int i=6;i<=7;i++) cout<<ans[i]<<‘ ‘; for(int i=1;i<5;i++) cout<<ans[i]<<‘ ‘; cout<<ans[5]<<endl; return 0; }
简单模拟,但我却交了三遍
一个细节有必要写一下提醒自己
输出千万不能在末尾多一个空格
原文:http://www.cnblogs.com/helloworld-c/p/4915571.html