李昊阳 • 2天前
#include <iostream> #include <cstdio> using namespace std; long long julianDay(int year, int month, int day) { if (month <= 2) { year--; month += 12; } long long a = year / 100; long long b = a / 4; long long c = 2 - a + b; long long e = static_cast<long long>(365.25 * (year + 4716)); long long f = static_cast<long long>(30.6001 * (month + 1)); return c + day + e + f - 1524; } int main() { int T; cin >> T; while (T--) { int y, m, d; scanf("%d-%d-%d", &y, &m, &d); if (m == 2 && d == 29) { cout << -1 << '\n'; continue; } long long birth = julianDay(y, m, d); long long eighteen = julianDay(y + 18, m, d); cout << eighteen - birth << '\n'; } return 0; }
评论: