#include <iostream> using namespace std; int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; int main() { int year, month, day, n, cnt; cin >> n; for (int i = 0; i < n; ++i) { cin >> year >> month >> day >> cnt; while (cnt != 0) { if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))days[2] = 29; else days[2] = 28; int use = days[month] - day; if (use >= cnt) { day += use; day = cnt; break; } else { cnt -= use; if (month <= 11) { ++month; day = 0; } else { ++year; month = 1; day = 0; } } } printf("%04d-%02d-%02d\n", year, month, day); } } // 64 位输出请用 printf("%lld")
拿下