問題一覧 > 通常問題

No.1298 OR XOR

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 318
作問者 : nok0nok0 / テスター : zkouzkou Kite_kumaKite_kuma
24 ProblemId : 5382 / 出題時の順位表
問題文最終更新日: 2020-11-15 13:10:03

問題文

正の整数 $N$ が与えられます。

  • $A\ \mathrm{or}\ B = B\ \mathrm{or}\ C = C\ \mathrm{or}\ A = N$
  • $A\ \mathrm{xor}\ B\ \mathrm{xor}\ C = 0$

を共に満たす正の整数の組 $(A, B, C)$ を、存在するならば一つ求めてください。

問題文中の $\mathrm{or}$ はビットごとの論理和、 $\mathrm{xor}$ はビットごとの排他的論理和を意味します。

Wikipedia:論理和

Wikipedia:排他的論理和

制約

  • $N$ は整数である。
  • $1 \le N\le 2^{30}$

入力

入力は以下の形式で標準入力から与えられます。
$N$

出力

条件を満たす $(A, B, C)$ の組が存在する場合、以下のように出力してください。

$A\  B\  C$
条件を満たす $(A, B, C)$ の組が存在しない場合、以下のように出力してください。
$-1\ -1\ -1$

サンプル

サンプル1
入力
3
出力
1 2 3

この場合、$A = 1, B= 2, C = 3$ です。

  • $A$ or $B = B$ or $C = C$ or $ A = 3$
  • $A$ xor $B$ xor $C = 0$

を確かに満たします。

$2\ 1\ 3$ や $3\ 1\ 2$ 等といった出力も正解となりますが、 $3\ 3\ 0$ という出力は $(A, B, C)$ が全て正の整数であるという制約に違反するため、不正解となることに注意してください。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。