結果
問題 |
No.1228 I hate XOR Matching
|
ユーザー |
|
提出日時 | 2020-09-12 00:00:44 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 825 bytes |
コンパイル時間 | 592 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 52,352 KB |
最終ジャッジ日時 | 2024-12-28 08:44:42 |
合計ジャッジ時間 | 25,270 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 18 WA * 13 |
ソースコード
k, x = map(int, input().split()) if x == 0: print('Yes') print(1) print(k - 1 if k >= 1 else k + 1) exit() if k == 0: x += 1 if (x & -x) != x: print('No') exit() print('Yes') n = 0 while 2 ** n < x: n += 1 if k == 0: a = [2 ** i for i in range(n)] a += a print(len(a)) print(*a) exit() if n <= 0: print(1) print(k) exit() d = [] c = k while c: d.append(c & -c) c -= c & -c if len(d) >= n: while len(d) > n: d[-2] |= d[-1] d.pop(-1) d += d print(len(d)) print(*d) else: a = [] for i in range(20): if k & (1 << i): a.append(1 << i) for i in range(20): if len(a) >= n: break if ~k & (1 << i): a.append(1 << i) a += a print(len(a)) print(*a)