結果
問題 | No.8083 12歳 |
ユーザー |
![]() |
提出日時 | 2021-04-01 21:26:29 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 43 ms / 1,000 ms |
コード長 | 1,290 bytes |
コンパイル時間 | 275 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,904 KB |
最終ジャッジ日時 | 2024-12-21 05:42:15 |
合計ジャッジ時間 | 22,099 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 366 |
ソースコード
from datetime import date, time, timedelta from typing import List y, n, d = map(int, input().split()) # print(y, n, d) born_lb: date = date(y-13, 4, 2) born_ub: date = date(y-12, 4, 1) date_lb: date = date(y, 4, 2) date_ub: date = date(y+1, 4, 1) lb_birthday: List[date] = [] ub_birthday: List[date] = [] for delta in range(n): lb_birthday.append(born_lb + timedelta(days=delta)) ub_birthday.append(born_ub - timedelta(days=delta)) date_lb41: date = date(y, 4, 1) dt = date_lb41 + timedelta(days=d) def isok(d: date, ma: date) -> bool: if ma.month == 4 and ma.day == 1: return True if d.month >= 4: if d.month == 4 and d.day == 1: return False else: if ma.month >= 4: return d.month < ma.month or (d.month == ma.month and d.day <= ma.day) else: return True else: # 1-3 if ma.month >= 4: return False else: return d.month < ma.month or (d.month == ma.month and d.day <= ma.day) ma: int = 0 # print(lb_birthday, dt) for bd in lb_birthday: if isok(bd, dt): ma += 1 # else: # print(bd, dt) mi: int = 0 # print(ub_birthday, dt) for bd in ub_birthday: if isok(bd, dt): mi += 1 print(n-ma, n-mi)