結果
問題 |
No.1988 Divisor Tiling
|
ユーザー |
|
提出日時 | 2022-06-24 21:43:36 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 85 ms / 2,000 ms |
コード長 | 879 bytes |
コンパイル時間 | 538 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 77,952 KB |
最終ジャッジ日時 | 2024-11-08 17:37:24 |
合計ジャッジ時間 | 3,701 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 32 |
ソースコード
import sys,random,bisect from collections import deque,defaultdict from heapq import heapify,heappop,heappush from itertools import permutations from math import log,gcd input = lambda :sys.stdin.readline().rstrip() mi = lambda :map(int,input().split()) li = lambda :list(mi()) D = {6:3,28:7,496:31,8128:127} K = {6:1,28:2,496:4,8128:6} N,H = mi() p = D[N] k = K[N] D = [1<<i for i in range(k+1)] + [p<<i for i in range(k+1)] use = [] for i in range(k+1): use += [1<<i] * (1<<i) for i in range(k+1): use += [p<<i] * (p<<i) use = use[::-1] if H%p==0: res = [[-1]*(N//H) for i in range(H)] for j in range(N//H): for i in range(H): res[i][j] = use.pop() else: res = [[-1]*(N//H) for i in range(H)] for i in range(H): for j in range(N//H): res[i][j] = use.pop() for i in range(H): print(*res[i])