結果
問題 | No.1988 Divisor Tiling |
ユーザー |
|
提出日時 | 2022-06-26 13:16:27 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 69 ms / 2,000 ms |
コード長 | 545 bytes |
コンパイル時間 | 334 ms |
コンパイル使用メモリ | 81,664 KB |
実行使用メモリ | 74,368 KB |
最終ジャッジ日時 | 2024-11-16 18:09:24 |
合計ジャッジ時間 | 4,019 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 32 |
ソースコード
n, h = map(int, input().split()) P = {6: 3, 28: 7, 496: 31, 8128: 127} p = P[n] w = n // h R = [1] f = 2 while f * f <= n: if n % f == 0: R.append(f) if n // f != f: R.append(n // f) f += 1 R.sort() ANS = [[0 for _ in range(w)] for _ in range(h)] i = 0 if (n // p) % h == 0: for x in R: for j in range(x): ANS[i // w][i % w] = x i += 1 else: for x in R: for j in range(x): ANS[i % h][i // h] = x i += 1 for ans in ANS: print(*ans)