「Cfz Round 5」Non-breath Oblige
题目背景
[English statement](https://www.luogu.com.cn/problem/U517656). **You must submit your code at the Chinese version of the statement.**
---
それぞれの好きを守るため
为了保护各自的喜爱之物
君と防空壕で呼吸する
与你在防空壕中一同呼吸
题目描述
给定三个整数 $n,s,t$,其中 $0 \le s,t \lt 2^n$。
你可以进行若干次操作。每次操作,你可以选择一个非负整数 $x$ 并把 $s$ 的值修改为 $x$,但有如下要求:
- 必须满足 $x<2^n$;
- 必须满足 $s\lor x=2^n-1$,其中 $\lor$ 为按位或运算;
- 你需要花费 $s\oplus x$ 的代价,其中 $\oplus$ 为按位异或运算。
你需要求出使 $s=t$ 所需代价之和的最小值。可以证明一定可以使 $s$ 与 $t$ 相等。
输入输出格式
输入格式
**本题有多组测试数据。**
输入的第一行包含一个正整数 $T$,表示测试数据组数。
接下来依次输入每组测试数据。对于每组测试数据,输入共一行,包含三个整数 $n,s,t$。
输出格式
对于每组测试数据,输出一行一个整数,表示使 $s=t$ 所需代价之和的最小值。
输入输出样例
输入样例 #1
3
2 1 2
3 1 1
5 1 4
输出样例 #1
3
0
57
说明
#### 「样例解释 #1」
对于第 $1$ 组测试数据,由于 $1 \cup 2 = 3$,所以可以直接将 $s$ 的值从 $1$ 修改为 $2$,此时的代价为 $1 \oplus 2$,即 $3$。可以证明使 $s=t$ 所需代价之和的最小值为 $3$。
对于第 $2$ 组测试数据,不需要进行操作即可满足 $s=t$。
#### 「数据范围」
对于所有测试数据,保证:
- $1 \le T \le 100$;
- $1 \le n \le 30$;
- $0 \le s,t \lt 2^n$。
**本题采用捆绑测试。**
- Subtask 0(12 points):$s=t$。
- Subtask 1(15 points):$n=1$。
- Subtask 2(20 points):$s+t=2^n-1$。
- Subtask 3(10 points):$t=2^n-1$。
- Subtask 4(18 points):$t=0$。
- Subtask 5(25 points):无特殊限制。