#include <iostream> #include<iomanip> using namespace std; int GetMonthDay(int y, int m) { int month[] = { 0, 31, 28, 31, 30, 31, 30, 31,31, 30, 31, 30, 31 }; if (m == 2 && ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)) return 29; return month[m]; } void GetDate(int y, int d) { int m = 1; while(d > GetMonthDay(y, m)) { d -= GetMonthDay(y, m); m++; if(m == 13) { m = 1; y++; } } cout<<setw(4)<<setfill('0')<<y<<'-'; cout<<setw(2)<<setfill('0')<<m<<'-'; cout<<setw(2)<<setfill('0')<<d<<endl; } int main() { int y, d; while (cin >> y >> d) { // 注意 while 处理多个 case GetDate(y, d); } } // 64 位输出请用 printf("%lld")