結果
問題 | No.87 Advent Calendar Problem |
ユーザー |
|
提出日時 | 2015-08-08 19:30:13 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 32 ms / 5,000 ms |
コード長 | 890 bytes |
コンパイル時間 | 92 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-07-18 05:59:47 |
合計ジャッジ時間 | 1,897 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
def solve(year):q, r = divmod(year-2000, 400)return q * count400(399) + count400(r) - 3def count400(year):'''水曜日を0木曜日を1金曜日を2...火曜日を6であらわすとする。400年単位で切りが良いので、2000年から数え始めることにする。2014 02013 62012 52011 32010 22009 12008 02007 52006 42005 32004 22003 02002 62001 52000 4'''weekday = 4count = 0for n in range(1, year + 1):weekday += 1 + is_leap_year(n)weekday %= 7if weekday == 0:count += 1return countdef is_leap_year(n):if n % 400 == 0:return Trueif n % 100 == 0:return Falseif n % 4 == 0:return Truereturn Falseyear = int(input())print(solve(year))