CF2004D.Colored Portals

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

一条直线上有 nn 个城市,这些城市的编号为 11 到 nn。

传送门被用于在城市间移动,传送门有四种颜色:蓝色,绿色,红色和黄色。每一个城市都有两种颜色的传送门。你可以从城市 ii 到城市 jj,当且仅当这两个城市存在同色的传送门(例如,你可以从有红色和蓝色的传送门的城市到有蓝色和绿色传送门的城市),花费 ∣i−j∣|i - j| 个硬币。

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

输入格式

第一行输入 tt(1≤t≤1041\le t \le 10^4),代表测试数据的组数。

对于每个测试数据,第一行输入 n,qn,q(1≤n,q≤2×1051\le n,q \le2 \times 10^5),表示城市数和询问数。

第二行输入 nn 个只能为 BG,BR,BY,GR,GY,RY 之一的字符串,第 ii 个表示城市 ii 有的传送门颜色,B 表示蓝色,G 表示绿色,R 表示红色,Y 表示黄色。

接下来 qq 行第 jj 行输入 xj,yjx_j,y_j(1≤xj,yj≤n1 \le x_j,y_j \le n),表示第 jj 个询问的 x,yx,y。

输入保证所有测试数据中 nn 的和不超过 2×1052 \times 10^5,qq 的和不超过 2×1052 \times 10 ^ 5。

输出格式

对每个询问,输出一个整数,即从城市 xx 到城市 yy 的最小花费(若无解输出 −1-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

    1
    4
    0
    3
    2
    -1

输入解题思路,AI测评打分。不知道怎么写?

首页