結果
問題 | No.688 E869120 and Constructing Array 2 |
ユーザー |
![]() |
提出日時 | 2018-06-28 22:22:13 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 27 ms / 1,000 ms |
コード長 | 682 bytes |
コンパイル時間 | 188 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-07-07 14:21:34 |
合計ジャッジ時間 | 1,127 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 |
ソースコード
# coding: utf-8 # Your code here! k = int(input()) lst = [] n1,n2 = 1,2 for i in range(29): lst.append(n1*n2//2) n1,n2 = n2,n2+1 def white(n,zero,one): s = "0 "*zero+"1 "*one print(n) print(s[:-1]) def f(): zero_pattern = 2 zero_cnt = 1 while True: yakusu = k//zero_pattern if yakusu in lst: one_cnt = lst.index(yakusu)+2 total_cnt =zero_cnt+one_cnt if 30>=total_cnt: white(total_cnt,zero_cnt,one_cnt) return zero_pattern *= 2 zero_cnt += 1 if k in lst: i = lst.index(k)+2 white(i,0,i) elif k==0: white(1,1,0) else: f()