Posted on 2010-09-10 21:40
acronix 阅读(286)
评论(0) 编辑 收藏 引用 所属分类:
qqy解题报告
//考察点: 纯模拟
//思路: 根据题目的意思努力计算天数 在考虑到闰年的时候需要把二月份的天数更新
//提交情况: 悲剧的2WA 问题的根源是freopen语句错误 文件名多了 file
//收获: 提交的时候文件名不是"file"+" "+"name" 而是"name"
//经验: 以后操作一个数组的时候一定要初始化一次 用memset就行
//ACcode:
/*
ID: qiuqiyu1
PROB: friday
LANG: C++
*/
#include<stdio.h>
#include<memory.h>
#define BEGIN (1900)
#define FIRST_DAY (1)
int md[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
bool isleap(int y)
{
if(y%400 == 0 || (y%4==0 && y%100!=0)) return true;
else return false;
}
int main()
{
freopen("friday.in","r",stdin);
freopen("friday.out","w",stdout);
int N,sumday[8];
scanf("%d",&N);
int i,j,k,y;
int p=FIRST_DAY;
memset(sumday,0,sizeof(sumday));
for(i=0;i<N;i++)
{
y=BEGIN+i;
if(isleap(y)) md[2]=29;
else md[2]=28;
for(j=1;j<=12;j++)
{
for(k=1;k<=md[j];k++)
{
if(k==13) sumday[p%7]+=1;
p++;
//printf("%d\n",p%7);
}
}
}
p=FIRST_DAY;
/*for(i=0;i<7;i++)
{
if(i!=0) printf(" ");
printf("%d",sumday[i]);
}
printf("\n");*/
printf("%d ",sumday[6]);
for(i=0;i<6;i++)
{
if(i!=0) printf(" ");
printf("%d",sumday[i]);
}
printf("\n");
return 0;
}