問題描述:給定日期,求距離n天的前後日期
int month(int y, int m){if (m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12)return 31;if (m==4 || m==6 || m==9 || m==11)return 30;if (y%4==0 && y%100!=0 || y%400==0)return 29;return 28;}int main(){int nowyear=2010;int nowmouth=8;int nowday=17;int num;cin>>num;for(int i=0;i<num;i++){long long ge;cin>>ge;long long ge1=ge;int year=nowyear,mouth=nowmouth,day=nowday;while(ge1>0){ge1--;day++;if(day==(month(year,mouth)+1)){day=1;mouth++;if(mouth==13){year++;mouth=1;}}}cout<<year<<"/";if(mouth<10)cout<<"0";cout<<mouth<<"/";if(day<10)cout<<"0";cout<<day;cout<<" ";long long ge2=ge;year=nowyear;mouth=nowmouth;day=nowday;while(ge2>0){ge2--;day--;if(day==0){mouth--;if(mouth==0){year--;if(year==0)year--;mouth=12;}day=month(year, mouth);}}cout<<year<<"/";if(mouth<10)cout<<"0";cout<<mouth<<"/";if(day<10)cout<<"0";cout<<day;cout<<endl;}}