分析:
1年1月1日为星期一
代码:
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <map>
using namespace std;
bool judge(int n){
if(n%100!=0&&n%4==0||n%400==0)
return 1;
return 0;
}
int main(){
int d;
string m;
int y;
int mondays[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
string monname[13]={"","January","February","March",
"April","May","June","July","August","September",
"October","November","December"};
string week[8]={"","Monday","Tuesday","Wednesday","Thursday",
"Friday","Saturday","Sunday"};
map <string,int> Mnum;
for(int i=1;i<13;i++){
Mnum[monname[i]]=i;
}
while(cin>>d>>m>>y){
int s=0;
for(int i=1;i<y;i++){
if(judge(i))
s+=366;
else
s+=365;
}
for(int i=1;i<Mnum[m];i++){
s+=mondays[i];
if(i==2&&judge(y))
s++;
}
s+=d;
s=(s-1)%7+1;
cout<<week[s]<<endl;
}
return 0;
}