結果
問題 | No.1988 Divisor Tiling |
ユーザー | aaaaaaaaaa2230 |
提出日時 | 2022-06-24 22:48:29 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 78 ms / 2,000 ms |
コード長 | 505 bytes |
コンパイル時間 | 330 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 74,496 KB |
最終ジャッジ日時 | 2024-11-08 18:37:07 |
合計ジャッジ時間 | 3,365 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 32 |
ソースコード
n,h = map(int,input().split()) divs = [i for i in range(1,n) if n%i == 0] w = n//h ans = [[0]*w for i in range(h)] x,y = 0,0 for d in divs[::-1]: nh = h-x nw = w-y if d%nh == 0: for i in range(nh): for j in range(d//nh): ans[x+i][y+j] = d y += d//nh elif d%nw == 0: for i in range(d//nw): for j in range(nw): ans[x+i][y+j] = d x += d//nw else: print(-1) for i in ans: print(*i)