結果
| 問題 |
No.8083 12歳
|
| コンテスト | |
| ユーザー |
iiljj
|
| 提出日時 | 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)
iiljj