#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 m,int d, int n) { d += n; 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 s, y, m, d, n; cin >> s; while (s > 0) { // 注意 while 处理多个 case cin >> y >> m >> d >>n; GetDate(y, m, d, n); s--; } } // 64 位输出请用 printf("%lld")