Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
148117 李昊阳 18岁生日 C++ Wrong Answer 1 MS 276 KB 932 2026-02-09 17:03:37

Tests(0/1):


Code:

#include <iostream> #include <sstream> #include <ctime> // 判断是否为闰年 bool isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } int main() { int T; std::cin >> T; while (T--) { std::string dateStr; std::cin >> dateStr; int year, month, day; sscanf(dateStr.c_str(), "%d-%d-%d", &year, &month, &day); int targetYear = year + 18; if ((month == 2 && day == 29 &&!isLeapYear(targetYear))) { std::cout << -1 << std::endl; continue; } int days = 0; for (int i = year; i < targetYear; ++i) { days += isLeapYear(i)? 366 : 365; } // 这里直接假设不满一年的天数为0,因为如果是同一天,差值就是0,不需要复杂时间函数计算 std::cout << days << std::endl; } return 0; }


Run Info:

------Input------
11 1989-11-26 1962-12-02 1963-03-27 1990-03-31 1900-02-28 2000-02-29 2008-08-08 1995-02-28 2012-02-29 2020-02-28 1982-03-01
------Answer-----
6574 6575 6575 6575 6574 -1 6574 6575 -1 6575 6575
------Your output-----
6574 6574 6575 6574 6574 -1 6575 6575 -1 6575 6574