CF1779A Hall of Fame

题目描述

Thalia 是一位传奇国际象棋大师。她有 $n$ 个奖杯排成一行,从左到右编号为 $1$ 到 $n$,每个奖杯旁边都有一盏灯(灯的编号与奖杯相同)。 每盏灯可以朝左或朝右照射,并且会照亮该方向上的所有奖杯(但不会照亮它旁边的奖杯)。更正式地说,Thalia 有一个只包含字符 'L' 和 'R' 的字符串 $s$,表示每盏灯当前的朝向。第 $i$ 盏灯会照亮: - 如果 $s_i$ 是 'L',则照亮奖杯 $1,2,\ldots,i-1$; - 如果 $s_i$ 是 'R',则照亮奖杯 $i+1,i+2,\ldots,n$。 她最多可以进行以下操作一次: - 选择一个下标 $i$($1 \leq i < n$); - 交换第 $i$ 盏灯和第 $i+1$ 盏灯的位置(不改变它们的朝向)。即交换 $s_i$ 和 $s_{i+1}$。 Thalia 想让所有奖杯都被照亮(即每个奖杯至少被一盏灯照亮),或者告诉她无法做到。如果可以,你可以选择进行一次操作,也可以选择不操作。注意,灯的朝向不能改变,只允许交换相邻的两盏灯。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例数 $t$($1 \leq t \leq 10\,000$)。接下来是每个测试用例的描述。 每个测试用例的第一行包含一个正整数 $n$($2 \leq n \leq 100\,000$),表示奖杯的数量。 每个测试用例的第二行包含一个长度为 $n$ 的字符串 $s$,只包含字符 'L' 和 'R',第 $i$ 个字符表示第 $i$ 盏灯的朝向。 保证所有测试用例中 $n$ 的总和不超过 $100\,000$。

输出格式

对于每个测试用例,如果无法通过至多一次操作(或不操作)照亮所有奖杯,输出 $-1$。否则,如果选择不操作(即初始状态下所有奖杯都被照亮),输出 $0$;如果选择交换第 $i$ 盏灯和第 $i+1$ 盏灯,输出下标 $i$($1 \leq i < n$)。 如果有多种答案,输出任意一种均可。

说明/提示

在第一个样例中,可以交换第 $1$ 盏灯和第 $2$ 盏灯,或者不操作。无论哪种情况,字符串都变为 "LL"。并非所有奖杯都被照亮,因为第 $2$ 个奖杯没有被任何灯照亮——第 $1$ 盏灯照不到任何奖杯,第 $2$ 盏灯只照亮第 $1$ 个奖杯。 在第二个样例中,必须交换第 $1$ 盏灯和第 $2$ 盏灯。字符串变为 "RL"。第 $1$ 个奖杯被第 $2$ 盏灯照亮,第 $2$ 个奖杯被第 $1$ 盏灯照亮,因此可以照亮所有奖杯。 在第三个样例中,所有奖杯一开始就都被照亮——因此不进行任何操作也是有效的解。 在最后两个样例中,不需要进行交换操作,因为所有奖杯一开始就都被照亮。但所给出的解也是有效的。 由 ChatGPT 4.1 翻译