SP20983 UCBINTE - Hogwarts

题目背景

:::warning[警告]{open} 这道题在 SPOJ 上被隐藏,不保证能正常提交。 :::

题目描述

霍格沃茨的新学期才刚刚开始,但却出了点问题——楼梯不听话了!学校有一个楼梯间,用来连接 $N$ 层楼,其中有 $M$ 个移动楼梯。每个楼梯只连接一对不同的楼层,而且没有两个楼梯会连接相同的楼层组合(显然,楼梯也不会自己连接到自己所在的楼层——这些楼梯可是有灵性的魔法楼梯)。唯一能控制这些楼梯的方法是在每层楼上按下红色和绿色按钮。楼层从整数 $0$ 到 $N-1$ 进行标号。按下第 $i$ 层($0 \le i \le N - 1$)的红色按钮,只有连接到第 $i$ 层的楼梯会受到影响——具体来说,如果楼梯连接第 $i$ 层和第 $j$ 层($j \ne i$),它会改为连接第 $i$ 层和第 $(j + 1) \bmod N$ 层。若 $(j + 1) \bmod N = i$,则直接连接到第 $(j + 2) \bmod N = (i + 1) \bmod N$ 层。绿色按钮则执行红色按钮的逆操作(或等同于按红色按钮 $N - 2$ 次)。 楼梯无序地移动后,管理员希望重新安排位置。你,一个忙碌的家养小精灵,负责把当前混乱的楼梯状态调整到管理员需要的状态。 你的任务是找到一个最多包含 $250\,000$ 次按钮操作的序列,让楼梯间从现有状态变为期望的状态。

输入格式

输入只有一个测试用例。第一行输入两个整数 $N$ 和 $M$。 接下来是 $M$ 行,每行包含两个整数 $i, j$,表示当前楼梯连接的楼层。然后是接下来的 $M$ 行,表示目标楼梯连接的楼层。

输出格式

第一行输出一个整数 $Q$($0 \le Q \le 250,000$),表示你所规划的按钮操作序列的长度。接下来输出 $Q$ 行,每行是 `R i`(红色)或 `G i`(绿色),表示应该按下第 $i$ 层的红色或绿色按钮。

说明/提示

$3 \le N \le 50$,$0 \le M \le \frac{N(N-1)}{2}$。