#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int c,y,m,d,w;
while(scanf("%d%d%d",&y,&m,&d)!=EOF){ //用个cin,cout还超时。。。。
if(m==1){
m=13;
y--;
}
if(m==2){
m=14;
y--;
}
c=y/100;
y=y%100;
w=c/4-2*c+y+y/4+(13*(m+1)/5)+d-1;
if(w<0)
printf("%d\n",(w%7+7)%7);
else
printf("%d\n",w%7);
}
return 0;
}
总结:蔡勒公式(一个专门用来计算周几的公式)直接百度百科蔡勒公式就行了。
开始本来想直接暴力打表的,后来想着有点麻烦,就没试。这道题出现在DP分类里,有点想不通,难道是还有其他的方法