#include <iostream>
//#include <cstring>
#include <string>
#include <vector>//Runtime Error
using namespace std;
//参考了书中的解答如何使用向量
//用数组 Runtime Error 越界
//Runtime Error C++ G++
//2000年1月1日 星期六
int main()
{
//string jg[1000];
vector<int> xq;//100 1000 Runtime Error
//memset(xq,0,sizeof(xq));
vector<int> nian;
//memset(nian,0,sizeof(nian));
vector<int> yue;
//memset(yue,0,sizeof(yue));
vector<int> ri;
//memset(ri,0,sizeof(ri));
int pp=0;
while(1)
{
int ti=0;
cin>>ti;
if(ti==-1)
{
break;
}
//xq[pp]=(ti+6)%7;//0表示星期天
int _xq=(ti+6)%7;
//nian[pp]=2000;
int _nian=2000;
while(ti>0)//年
{
if((_nian%400==0)||((_nian%4==0)&&(_nian%100!=0)))//闰年
{
if((ti-366)>=0)
{
_nian++;
ti=ti-366;
}else
{
break;
}
}else
{
if((ti-365)>=0)
{
_nian++;
ti=ti-365;
}else
{
break;
}
}
}
int _yue=1;
while(ti>0)//月
{
if((ti-31)>=0)//一月
{
_yue++;
ti=ti-31;
}else
{
break;
}
if((_nian%400==0)||((_nian%4==0)&&(_nian%100!=0)))//闰年
{
if((ti-29)>=0)//二月
{
_yue++;
ti=ti-29;
}else
{
break;
}
}else
{
if((ti-28)>=0)//二月
{
_yue++;
ti=ti-28;
}else
{
break;
}
}
if((ti-31)>=0)//三月
{
_yue++;
ti=ti-31;
}else
{
break;
}
if((ti-30)>=0)//四月
{
_yue++;
ti=ti-30;
}else
{
break;
}
if((ti-31)>=0)//五月
{
_yue++;
ti=ti-31;
}else
{
break;
}
if((ti-30)>=0)//六月
{
_yue++;
ti=ti-30;
}else
{
break;
}
if((ti-31)>=0)//七月
{
_yue++;
ti=ti-31;
}else
{
break;
}
if((ti-31)>=0)//八月
{
_yue++;
ti=ti-31;
}else
{
break;
}
if((ti-30)>=0)//九月
{
_yue++;
ti=ti-30;
}else
{
break;
}
if((ti-31)>=0)//十月
{
_yue++;
ti=ti-31;
}else
{
break;
}
if((ti-30)>=0)//十一月
{
_yue++;
ti=ti-30;
}else
{
break;
}
if((ti-31)>=0)//十二月
{
_yue++;
ti=ti-31;
}else
{
break;
}
}
int _ri=ti+1;
nian.push_back(_nian);//参考书上解答
yue.push_back(_yue);
ri.push_back(_ri);
xq.push_back(_xq);
//cout<<nian[pp]<<endl;
pp++;
}
for(int i=0;i<pp;i++)
{
cout<<nian[i]<<"-";
if((yue[i]>0)&&(yue[i]<10))
{
cout<<"0"<<yue[i]<<"-";
}else
{
cout<<yue[i]<<"-";
}
if((ri[i]>0)&&(ri[i]<10))
{
cout<<"0"<<ri[i]<<" ";
}else
{
cout<<ri[i]<<" ";
}
if(xq[i]==0)
{
cout<<"Sunday"<<endl;
}else if(xq[i]==1)
{
cout<<"Monday"<<endl;
}else if(xq[i]==2)
{
cout<<"Tuesday"<<endl;
}else if(xq[i]==3)
{
cout<<"Wednesday"<<endl;
}else if(xq[i]==4)
{
cout<<"Thursday"<<endl;
}else if(xq[i]==5)
{
cout<<"Friday"<<endl;
}else if(xq[i]==6)
{
cout<<"Saturday"<<endl;
}
}
return 0;
}
POJ 2080 Calendar G++
最新推荐文章于 2018-04-08 21:40:20 发布