#P1139. 函数
函数
题目描述
定义函数 如下:
$$\begin{cases} f(1) = a \\ f(2) = b \\ f(x) = f(x - 1) \oplus f(x - 2) \end{cases} $$这里的 表示整数 和 的按位异或运算。
现在给定四个整数 、、、,你的任务是计算 从 到 (包含两端)每个整数对应的函数值之和。
更正式地表示为:
$$\left( \sum_{x=l}^{r} f(x) \right) = f(l) + f(l + 1) + \dots + f(r) $$输入格式
第一行一个整数 表示测试点数量。
接下来 个测试点,每个测试点包含一行,四个整数 、、、。
输出格式
对于每个测试点,输出所求的和。
请注意! 某些测试用例的答案可能超出 32 位整数范围,因此你应该在程序中使用至少 64 位整数类型(例如 C++ 中的 long long)。
可以证明,每个测试用例的答案不超过 。
4
1 3 4 6
2 10 11 20
100 20 33 34
10 2 3 5
6
70
212
20
数据范围
- 对于 的数据,。
- 对于另外 的数据,。
- 对于 的数据,没有额外限制,,,。