// // Created by chenlong666 on 2022/2/7. // #include <iostream> #include <cstdio> using namespace std; int daytab[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} }; bool IsLeapYear(int year) { return (year%4==0&&year%100!=0)||(year%400==0);//判断闰年 } int Numberofyear(int year) { if (IsLeapYear(year)) { return 366; } else { return 365; } } int main() { int m,year,month,day,number; cin>>m; while(m--) { while (cin>>year>>month>>day>>number) { //转化为天数 int row= IsLeapYear(year); for (int i = 0; i < month; ++i) { number+=daytab[row][i]; } number+=day; //确定年 while (number> Numberofyear(year)) { number-= Numberofyear(year); year++; } //确定月 month=0; row= IsLeapYear(year); while (number>daytab[row][month]) { number-=daytab[row][month]; month++; } day=number; printf("%04d-%02d-%02d",year,month,day); } } }