CF1333D.Challenges in school №41

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

There are nn children, who study at the school №41. It is well-known that they are good mathematicians. Once at a break, they arranged a challenge for themselves. All children arranged in a row and turned heads either to the left or to the right.

Children can do the following: in one second several pairs of neighboring children who are looking at each other can simultaneously turn the head in the opposite direction. For instance, the one who was looking at the right neighbor turns left and vice versa for the second child. Moreover, every second at least one pair of neighboring children performs such action. They are going to finish when there is no pair of neighboring children who are looking at each other.

You are given the number nn, the initial arrangement of children and the number kk. You have to find a way for the children to act if they want to finish the process in exactly kk seconds. More formally, for each of the kk moves, you need to output the numbers of the children who turn left during this move.

For instance, for the configuration shown below and k=2k = 2 children can do the following steps:

At the beginning, two pairs make move: (1,2)(1, 2) and (3,4)(3, 4). After that, we receive the following configuration:

At the second move pair (2,3)(2, 3) makes the move. The final configuration is reached. Good job.

It is guaranteed that if the solution exists, it takes not more than n2n^2 "headturns".

有 nn 个孩子,就读于第 41 号学校。众所周知,他们都是优秀的数学家。某次课间休息时,他们为自己设计了一个挑战:所有孩子排成一列,每个人头部朝左或朝右。

孩子们可以执行如下操作:在 1 秒内,若干对相邻且彼此对视的孩子可同时将头转向相反方向。例如,原本朝右看其右邻的孩子改为朝左,而其右邻(原本朝左看该孩子)则改为朝右。此外,每秒至少有一对相邻孩子执行该操作。当不再存在任何一对相邻且彼此对视的孩子时,过程结束。

现给出整数 nn、孩子的初始朝向排列以及整数 kk。你需要构造一种方案,使得孩子们恰好在 kk 秒后结束该过程。更准确地说,对于 kk 次操作中的每一次,你需要输出本次操作中转头朝左的孩子的编号。

例如,对如下初始构型且 k=2k = 2 的情形,孩子们可执行以下步骤:

初始时刻,两对相邻孩子执行操作:(1,2)(1, 2) 和 (3,4)(3, 4)。之后得到如下构型:

第二秒,仅 (2,3)(2, 3) 这一对执行操作,达到最终构型。完成!

题目保证:若解存在,则所需“转头”总次数不超过 n2n^2。

输入格式

The first line of input contains two integers nn and kk (2≤n≤30002 \le n \le 3000, 1≤k≤30000001 \le k \le 3000000) — the number of children and required number of moves.

The next line contains a string of length nn and consists only of characters L and R, where L means that the child looks to the left and R means that the child looks to the right.

输入的第一行包含两个整数 nn 和 kk(2≤n≤30002 \le n \le 3000,1≤k≤30000001 \le k \le 3000000)—— 分别表示儿童的数量和所需的移动次数。

下一行包含一个长度为 nn 的字符串,仅由字符 L 和 R 组成,其中 L 表示该儿童向左看,R 表示该儿童向右看。

输出格式

If there is no solution, print a single line with number −1-1.

Otherwise, output kk lines. Each line has to start with a number nin_i (1≤ni≤n21\le n_i \le \frac{n}{2}) — the number of pairs of children, who turn at this move. After that print nin_i distinct integers — the numbers of the children who will turn left during this move.

After performing all "headturns", there can't be a pair of two neighboring children looking at each other.

If there are many solutions, print any of them.

如果无解,输出一行数字 −1-1。

否则,输出 kk 行。每行须以一个数字 nin_i(1≤ni≤n21\le n_i \le \frac{n}{2})开头——表示本次操作中转向的儿童对数。随后输出 nin_i 个互不相同的整数——表示本次操作中将向左转的儿童编号。

在执行完所有“转头”操作后,不能存在任意一对相邻儿童彼此对视。

若存在多个解,输出其中任意一个即可。

输入输出样例

  • 输入#1

    2 1
    RL

    输出#1

    1 1
  • 输入#2

    2 1
    LR

    输出#2

    -1
  • 输入#3

    4 2
    RLRL

    输出#3

    2 1 3 
    1 2

说明/提示

The first sample contains a pair of children who look at each other. After one move, they can finish the process.

In the second sample, children can't make any move. As a result, they can't end in k>0k \gt 0 moves.

The third configuration is described in the statement.

第一个样例包含一对互相注视的儿童。经过一次操作后,他们即可完成整个过程。

第二个样例中,儿童无法进行任何操作。因此,他们无法在 k>0k \gt 0 步内结束。

第三个构型已在题目陈述中描述。

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

首页