1527.位运算

时间限制:1s 内存限制:256MB

小丁最近对位运算很感兴趣,通过学习,他知道了按位与 $⊗$,按位异或 $⊕$,以及按位或 $⊖$ 三种常见位运算。

按位与 $⊗$:二进制下每一位做与,即 $0⊗0=0,0⊗1=0,1⊗0=0,1⊗1=1$。

按位异或 $⊕$:二进制下每一位做异或,即 $0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0$。

按位或 $⊖$:二进制下每一位做或,即 $0⊖0=0,0⊖1=1,1⊖0=1,1⊖1=1$。

现在,对于一个在 $[0,2k)$ 中的整数 $n$,小丁想要知道,有多少组也在 $[0,2k)$ 中的整数 $a,b,c,d$,满足:
$a⊗b⊕c⊖d=n$

注意,运算符是从左往右依次顺序结合的,即可以认为原表达式为:
$(((a⊗b)⊕c)⊖d)=n$

输入格式(从终端/标准输入读取)

本题单个测试点内包含多组测试数据。

第一行一个整数 $T(1≤T≤10)$,表示数据组数。

对于每组数据,一行两个整数 $n,k (1 ≤ k ≤ 15,0 ≤ n \lt 2k)$。

输出格式(输出至终端/标准输出)

对于每组数据输出 $q$ 行,每行一个整数表示答案。

输入样例

复制
3
1 2
3 3
5 4
 \n
 · \n
 · \n
 · \n

输出样例

复制
48
576
2304
  \n
   \n
    \n
来源: 2024“钉耙编程”中国大学生算法设计超级联赛(1)

提交题解

Please login first.

© 2025 FAQs