結果
問題 |
No.1274 楽しい格子点
|
ユーザー |
![]() |
提出日時 | 2020-10-30 23:35:27 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,147 bytes |
コンパイル時間 | 117 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 16,384 KB |
最終ジャッジ日時 | 2024-07-22 03:14:45 |
合計ジャッジ時間 | 3,711 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | TLE * 1 |
other | AC * 1 -- * 56 |
ソースコード
A, B = map(int, input().split()) A = abs(A) B = abs(B) if A == 0 or B == 0: if A == 0 and B == 0: print(0.5) else: m = max(A, B) S = 1/2 for i in range(102, 2, -1): if (i - 1) % m == 0: S += ((i - 1) // m + 1) / pow(i, i) print(S) else: S = 0 if A > 100 and B > 100: print(0.25) else: L = [[0 for _ in range(101)] for __ in range(101)] F = [0 for _ in range(101)] for i in range(-50, 50): for j in range(-50, 50): for k in range(-50, 50): for l in range(-50, 50): if i % 2 == l % 2 and j % 2 == k % 2: p = 1 + i * A + j * B q = 1 + k * A + l * B if 0 < p < 100 and 0 < q < 100 and p + q < 100: L[p][q] = 1 for i in range(100, 0, -1): for j in range(100, 0, -1): if i + j <= 100: F[i+j] += L[i][j] for i in range(100, 1, -1): S += F[i] / pow(i, i) print(S)