#CF2231F. 平方跳跃 / Quadratic Jumps

    ID: 18522 传统题 2000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>brute-forceconstructive-algorithmsgreedymathnumber-theory

平方跳跃 / Quadratic Jumps

题目描述

有一张包含 nn 个点的无向图,点编号为 11nn

ij|i-j| 是一个完全平方数,则点 ii 与点 jj 之间有一条边。

给定 qq 个询问 (a,b)(a,b),请回答从 aabb 的最短路长度。保证图是连通的。

输入格式

每个测试包含多组测试数据。

第一行包含整数 tt1t10001 \le t \le 1000)。

每组测试数据第一行包含两个整数 n,qn,q2n21052 \le n \le 2\cdot 10^51q1051 \le q \le 10^5),分别表示图的点数和询问数。

接下来 qq 行,每行包含两个整数 a,ba,b1a<bn1 \le a < b \le n),表示一个询问。

保证所有测试数据的 nn 之和不超过 21052\cdot 10^5qq 之和不超过 10510^5

输出格式

对于每组测试数据,按询问顺序输出每对点之间的最短路长度。

样例 1

2
5 4
1 2
1 3
1 4
1 5
8 3
3 7
2 5
1 7
1
2
2
1
1
2
3

约束与提示

  • 时间限制:2 秒

  • 内存限制:256 MB

  • 原题编号:CF2231F