#include<stdio.h> int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int year[9604]; bool is_leay(int i) { return i%400==0||i%4==0&&i%100; } int main() { int i; for(i=1;i<=12;i++)month[i]+=month[i-1]; for(i=1600;i<=9600;i++) if(is_leay(i))year[i]=year[i-1]+366; else year[i]=year[i-1]+365; int y,m,d,n; while(~scanf("%d%d%d",&y,&m,&d)) { n=0; n+=year[y-1]+month[m-1]+d; if(is_leay(y)&&m>2)n+=1; printf("%d\n",(n+5)%7); } return 0; }
#include<stdio.h> int main() { int y,m,d,c,w,t; while(scanf("%d%d%d",&y,&m,&d)!=EOF) { if(m<=2){m+=12;y--;} c=y/100; y=y%100; w=((y+(y>>2)+(c>>2)-(c<<1)+(26*(m+1)/10)+d-1)%7+7)%7; printf("%d\n",w); } return 0; }