Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
158614 林睿 18岁生日 C++ Accepted 1 MS 268 KB 869 2026-08-22 15:41:16

Tests(1/1):


Code:

#include<bits/stdc++.h> using namespace std; bool isLeap(int y) { return (y % 4 == 0 && y % 100 != 0) || (y % 400 == 0); } int daysOfMonth[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; long long toDays(int y, int m, int d) { long long days = 0; for (int i = 1; i < y; i++) days += isLeap(i) ? 366 : 365; for (int i = 1; i < m; i++) { days += daysOfMonth[i]; if (i == 2 && isLeap(y)) days++; } days += d; return days; } int main() { int T; scanf("%d", &T); while (T--) { int y, m, d; scanf("%d-%d-%d", &y, &m, &d); if (m == 2 && d == 29 && !isLeap(y + 18)) { printf("-1\n"); } else { long long ans = toDays(y + 18, m, d) - toDays(y, m, d); printf("%lld\n", ans); } } return 0; }