結果
| 問題 | No.3776 Magic Square of Product |
| コンテスト | |
| ユーザー |
sig
|
| 提出日時 | 2026-10-23 22:13:23 |
| 言語 | PyPy3 (8.0.0 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 1,613 ms / 2,500 ms |
| + 197µs | |
| コード長 | 874 bytes |
| 記録 | |
| コンパイル時間 | 98 ms |
| コンパイル使用メモリ | 64,792 KB |
| 実行使用メモリ | 60,544 KB |
| 最終ジャッジ日時 | 2026-10-23 22:14:19 |
| 合計ジャッジ時間 | 45,815 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge4_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 25 |
ソースコード
t = int(input())
cur = [0]*21
for i in range(1,21):
lis = []
for j in range(i+1):
for k in range(i+1):
if j+k <= i:
lis.append([j,k,i-(j+k)])
for ii in lis:
for jj in lis:
for kk in lis:
l = [0]*3
for ll in range(3):
l[ll] += ii[ll]+jj[ll]+kk[ll]
if l.count(i) == 3:
cur[i] += 1
def get_prime(n):
sieve = [True] * (n + 1)
i = 2
while i * i <= n:
if sieve[i]:
for j in range(i * i, n + 1, i):
sieve[j] = False
i += 1
return [i for i in range(2, n + 1) if sieve[i]]
so = get_prime(1000)
for _ in range(t):
k = int(input())
ans = 1
mod = 998244353
for i in so:
c = 0
while k%i == 0:
k //= i
c += 1
if c:
ans *= cur[c]
ans %= mod
if k != 1:
ans *= cur[1]
ans %= mod
print(ans)
sig