問題一覧 > 通常問題

No.3718 XOR Escape

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 1024 MB / 標準ジャッジ問題
タグ : (AC するまで非表示) / 解いたユーザー数 22
作問者 : ぽえ / テスター : kazuppa 👑 loop0919
お気に入りにしたユーザー ProblemId : 14043 / 自分の提出
問題文最終更新日: 2026-09-18 21:21:54
yukicoder contest 514 (順位表) の他の問題:

問題文

正整数 $N$ と $A \oplus B \oplus C = 0$ を満たす正整数 $A, B, C$ が与えられる。

変数 $x$ があり、はじめ、$x = N$ である。

次の操作を好きな回数行えるとき、操作を行うことのできる回数の最大値を求めよ。

  • $y \lt x$ と $x \oplus y \notin \{A, B, C\}$ の両方を満たす非負整数 $y$ を $1$ つ選び、変数 $x$ を $y$ に変更する。

ただし、 $\oplus$ はビット単位 $\mathrm{XOR}$ を表す。

ビット単位 $\mathrm{XOR}$ の定義(クリックで開く) 非負整数 $X, Y$ のビット単位 $\mathrm{XOR}$ すなわち $X \oplus Y$ は、以下のように定義される。
  • $X \oplus Y$ を二進表記したときの $2^k$ $(k \ge 0)$ の位の数は、 $X, Y$ を二進表記したときの $2^k$ $(k \ge 0)$ の位の数のうち一方のみが $1$ であれば $1$ 、そうでなければ $0$ である。

制約

  • 入力はすべて整数である。
  • $1 \le N, A, B, C \le 10^{18}$
  • $A\oplus B\oplus C=0$

入力

入力は以下の形式で標準入力から与えられる。

$N$ $A$ $B$ $C$

出力

答えを出力せよ。

サンプル

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

例えば、$x$ を $10\to7\to3$ と変更することで $2$ 回操作できる。

サンプル2
入力
20 10 13 7
出力
17

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