#include <iostream> using namespace std; int days[]={ 0,31,28,31,30,31,30,31,31,30,31,30,31 }; int Grt_YearMonthDay(int year,int month) { int day = days[month]; month==2 && (year%4==0 && year%100!=0 || year%400==0) && (day++); return day; } class Date { public: Date(int year=1,int month=1,int day=0): _year(year),_month(month),_day(day){ } Date operator+(int day) { Date temp(*this); while(day > Grt_YearMonthDay(temp._year,temp._month)) { day -= Grt_YearMonthDay(temp._year,temp._month); temp._month++; } temp._day = day; return temp; } void show() { cout<<_year<<"-"; if(_month < 10) cout<<"0"<<_month<<"-"; else cout<<_month<<"-"; if(_day < 10) cout<<"0"<<_day<<endl; else cout<<_day <<endl; } private: int _year; int _month; int _day; }; int main() { int a, b; while (cin >> a >> b) { // 注意 while 处理多个 case Date D(a); (D+b).show(); } } // 64 位输出请用 printf("%lld")