結果
問題 | 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,bisectfrom collections import deque,defaultdictfrom heapq import heapify,heappop,heappushfrom itertools import permutationsfrom math import log,gcdinput = 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])