結果

問題 No.3030 Kruskal-Katona
ユーザー kidodesu
提出日時 2025-02-21 21:59:50
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 44 ms / 2,000 ms
コード長 686 bytes
コンパイル時間 374 ms
コンパイル使用メモリ 82,632 KB
実行使用メモリ 60,212 KB
最終ジャッジ日時 2025-02-21 21:59:54
合計ジャッジ時間 2,824 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

N, I = map(int, input().split())
"""
N = 110
F = [1] * N
E = [1] * N
for i in range(2, N):
    F[i] = F[i-1]*i

def comb(a, b): #組合せ
    if b < 0:
        return 0
    if a < b:
        return 0
    return F[a] // F[b] // F[a-b]
"""

from sys import setrecursionlimit as srl

def make(N, I):
    if N == 0:
        return
    if I == 1:
        Ans.append(N)
        return
    tmp = 1
    for i in range(1, I+1):
        tmp *= i
    now = tmp
    nx = I+1
    mx = 1
    while now <= tmp * N:
        pre = now
        now //= mx
        now *= nx
        mx += 1
        nx += 1
    Ans.append(nx-2)
    make(N-pre//tmp, I-1)

Ans = []
make(N, I)
print(*Ans)
        
    
    
0