#CF2004d. 彩色传送门

    ID: 7227 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 6 上传者: 标签>二分搜索、暴力、数据结构、图论、贪心、模拟、最短路*1600

彩色传送门

D. 彩色传送门
时间限制:每个测试点 22
内存限制:256256 兆字节

一条直线上有 nn 个城市,城市编号为 11nn

传送门用于在城市之间移动。共有 44 种颜色的传送门:蓝色(B)、绿色(G)、红色(R)、黄色(Y)。
每个城市拥有两种不同颜色的传送门。你可以从城市 ii 移动到城市 jj,如果它们拥有至少一种相同颜色的传送门(例如,一个“蓝-红”城市和一个“蓝-绿”城市之间可以移动)。这种移动的花费为 ij|i-j| 枚金币。

你的任务是回答 qq 个独立的询问:计算从城市 xx 到城市 yy 的最小花费。


输入格式
第一行包含一个整数 tt1t1041 \le t \le 10^4)——测试用例的数量。

每个测试用例的第一行包含两个整数 nnqq1n,q21051 \le n, q \le 2 \cdot 10^5)——城市数量和询问数量。

第二行包含 nn 个字符串,每个字符串为以下类型之一:BGBRBYGRGYRY;第 ii 个字符串描述了第 ii 个城市中的传送门颜色。其中 B 表示蓝色,G 表示绿色,R 表示红色,Y 表示黄色。

接下来的 qq 行中,每行包含两个整数 xjx_jyjy_j1xj,yjn1 \le x_j, y_j \le n)——第 jj 个询问的描述。

附加输入限制

  • 所有测试用例的 nn 之和不超过 21052 \cdot 10^5
  • 所有测试用例的 qq 之和不超过 21052 \cdot 10^5

输出格式
对于每个询问,输出一个整数——从城市 xx 到城市 yy 的最小花费(如果不可能,则输出 1-1)。


样例输入

2
4 5
BR BR GY GR
1 2
3 1
4 4
1 4
4 2
2 1
BG RY
1 2

样例输出

1
4
0
3
2
-1