2133.cpp

来自「杭电 acm部分代码 有兴趣的可以下载 谢谢」· C++ 代码 · 共 34 行

CPP
34
字号
#include<iostream>
using namespace std;
int a[10000],p[10000];
int mon[2][13]={0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31};
char f[7][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
int leapyear(int n){
    if((n%4==0&&n%100!=0)||n%400==0)
        return 1;
    return 0;
}
int illegal(int y,int m,int d){
    return y<1||y>9999||m<1||m>12||d<1||d>mon[p[y]][m];
}
void main()
{
    a[1]=0;
    int i,y,m,d,k;
    for(i=1;i<10000;i++)
        p[i]=leapyear(i);
    for(i=2;i<10000;i++)
        a[i]=a[i-1]+p[i-1]+365;
    while(cin>>y>>m>>d){
        if(illegal(y,m,d)){
            cout<<"illegal\n";
            continue;
        }
        k=a[y];
        for(i=1;i<m;i++)
            k+=mon[p[y]][i];
        k+=d;
        cout<<f[k%7]<<endl;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?