题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int T;
ll n,a,b;
struct node
{
int x,y;
};
node get(ll n,ll a)
{
if(n==0) return {0,0};
ll bl=1ll<<2*n-2;
ll len=1ll<<n-1;
node p=get(n-1,a%bl);
ll x=p.x,y=p.y;
int z=a/bl;
if(z==0) return {y,x};
if(z==1) return {x,y+len};
if(z==2) return {x+len,y+len};
if(z==3) return {2*len-1-y,len-1-x};
}
int main()
{
cin>>T;
while(T--)
{
cin>>n>>a>>b;
a--;
b--;
node pa=get(n,a);
node pb=get(n,b);
double dx=pa.x-pb.x;
double dy=pa.y-pb.y;
printf("%.0f\n",sqrt(dx*dx+dy*dy)*10.00);
}
return 0;
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla