#795. [CZOJ 一周一测 R8 A] 【模板】最近公共祖先

[CZOJ 一周一测 R8 A] 【模板】最近公共祖先

题目背景

注意:这 不 是 lca&*!@#()!#模?>.\版*题!@$=@。

题目描述

给定一棵根为 11 的无穷个节点的二叉树,其中节点 ii 的两个儿子为 2i2i 和 2i+12i+1。

多次询问,每次给定两个正整数 x,yx,y 的二进制表示,求这两个点在树上的距离。

输入格式

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

第一行一个整数 TT,表示数据组数。

接下来 TT 行,每行两个整数 x,yx,y 描述一组数据,注意 x,yx,y 是二进制形式表示。

输出格式

共 TT 行,每行一个整数表示答案。

样例

4
1 10
100 111
11111 11110
10101 10110
1
4
2
4

样例解释

对于第一组数据,树上节点 22 是节点 11 的儿子,所以节点 1,21,2 距离为 11。

对于第二组数据,树上节点 4,74,7 距离为 44。

数据规模与约定

本题只有 44 个点。

记 x,yx,y 在二进制表示下长度最大为 ss。

  • #1\text{\#1}(13 pts):s≤5s \leq 5。
  • #2\text{\#2}(20 pts):s≤20s \leq 20。
  • #3\text{\#3}(20 pts):s≤60s \leq 60。
  • #4\text{\#4}(47 pts):s≤104s\leq 10^4。

对于所有数据,1≤T≤1001 \leq T \leq 100,且 x,yx,y 没有前导 00。