아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Ловушка со свечками

시간 제한2초메모리 제한1024 MB

요약
이웃한 두 초의 색이 다를 때만 초 하나를 임의의 색으로 바꿀 수 있는 원형 배치에서, 10n번 이내의 이동으로 목표 배치를 만들거나 -1을 출력한다.
난이도

보통10점 중 6점

유형
그리디, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

Малефисента попала в магическую ловушку --- круг, на границе которого расположено nn свечек, пронумерованных от 11 до nn в порядке обхода. Каждая свечка горит красным, жёлтым или синим пламенем, ii-я свечка горит цветом s_is\_i. К счастью, Малефисента умеет выбираться из таких ловушек --- для этого нужно сделать так, чтобы ii-я свечка горела цветом t_it\_i. После этого из круга можно будет просто выйти.

Малефисента может выбрать любую свечку, соседи которой горят разным цветом, и поменять цвет её пламени на произвольный. На это действие потребуется одна единица магической силы. У Малефисенты осталось всего 10⋅n10 \cdot n единиц магической силы. Помогите ей найти последовательность действий, которая поможет выбраться из ловушки, либо скажите, что это невозможно.

입력

В первой строке дано одно целое число nn --- количество свечек (3≤n≤100,0003 \le n \le 100\\,000). В следующих двух строках даны строки ss и tt, состоящие из символов <<R>>, <<Y>> и <<B>> (∣s∣,∣t∣=n|s|, |t| = n). Символ <<R>> соответствует красному цвету, <<Y>> --- жёлтому и <<B>> --- синему.

출력

Если не существует искомой последовательности действий, выведите <<-1>>.

Иначе в первой строке выведите целое число kk --- количество действий, которые должна сделать Малефисента (k≤10⋅nk \le 10 \cdot n). В следующих kk строках выведите действия в том порядке, в котором их нужно выполнять. В каждой из этих строк выведите целое число p_ip\_i и символ c_ic\_i --- номер свечки и цвет, в который надо перекрасить её пламя ii-м действием (1≤p_i≤n1 \le p\_i \le n, c_i∈R,Y,Bc\_i \in \\{ \mathtt{R}, \mathtt{Y}, \mathtt{B} \\}). Обратите внимание, что вам не требуется минимизировать количество действий.

예제4

  1. 예제 1

    입력
    3
    RYB
    YBR
    
    예상 출력
    3
    2 B
    3 R
    1 Y
    
  2. 예제 2

    입력
    10
    RBRBRYRYYY
    BBYBRYYBYY
    
    예상 출력
    6
    8 B
    7 Y
    1 B
    2 R
    3 Y
    2 B
    
  3. 예제 3

    입력
    6
    YBYBYB
    BYBYBY
    
    예상 출력
    -1
    
  4. 예제 4

    입력
    5
    YRRBR
    YRRBR
    
    예상 출력
    0