bzoj#P2263. Fractal Streets

Fractal Streets

题目描述

城市扩建的规划是一个让人头疼的大问题。规划师设计了一个极其复杂的方案:当城市规模扩大之后,把与原来城市结构一样的区域复制或旋转 9090 度之后建设在原来的城市周围(详细地说, 将原来的城市复制一遍放在原城市的上方,将顺时针旋转 9090 度后的城市放在原城市的左上方,将逆时针旋转 9090 度后的城市放在原城市的左方),再用道路将四部分首尾连接起来,如下图所示。

容易看出,扩建后的城市的各个房屋仍然由一条道路连接。定义 NN 级城市为拥有 22N2^{2N} 座房屋的城市。对任意等级的城市,从左上角沿着唯一的道路行走,依次为房屋标号,就可以得到每间房屋的编号。住在其中两间房屋的人想要知道,如果城市发展到了一定等级,他俩各自所处的房屋之间的直线距离是多少。你可以认为图中的每个格子都是边长为 1010 米的正方形,房屋均位于每个格子的中心点上

输入格式

第一行一个整数 TT,表示询问次数。

接下来 TT 行,每行三个整数 N,S,DN,S,D,分别表示等级以及求 S,DS,D 之间的直线距离。

输出格式

对每次询问,输出 SSDD 之间的直线距离。

3
1 1 2
2 16 1
3 4 33
10
30
50

数据范围与约定

100%100\% 的数据满足:1N311\leq N\leq 311T1041\leq T\leq 10^4