#include <cstdio> #include <iostream> using namespace std; int IsLeapYear(int year) { return (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)); } int main() { int m; int _day[2][13] = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} }; scanf("%d", &m); for (int i = 0; i < m ; ++i) { int year, month, day, needSumDay; scanf("%d %d %d %d", &year, &month, &day, &needSumDay); //1.当需要累加的天数大于当月剩余的天数,则月份++,并减去当月剩余天数得到新的需要累加的天数 //2.当月份为12月时,则需要将年份++ while (needSumDay > _day[IsLeapYear(year)][month] - day) { needSumDay -= _day[IsLeapYear(year)][month] - day; day=0; if (month < 12) { ++month; }else { month = 1; ++year; } } printf("%04d-%02d-%02d\n",year,month,needSumDay); } return 0; }