yukicoder-585

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

{{{
#!html
<script type="text/x-mathjax-config">MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});</script>
<script type="text/javascript" async src="http://10.71.10.90/sfiction/tool/MathJax/MathJax-master/MathJax.js?config=TeX-MML-AM_CHTML"></script>
<style>
.input, pre {
    display: block;
    padding: 9.5px;
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.42857143;
    color: #333;
    word-break: break-all;
    word-wrap: break-word;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 4px;
}
</style>
}}}

== [https://yukicoder.me/problems/no/585 No.585 工夫のないパズル] ==

=== Description ===

{{{
#!html
<p>有一个$4 \times 4$个字符矩阵,如下图:
<pre>
ABCD
EFGH
IJKL
MNOP
</pre>
</p>

<p>你可以做如下两种操作:
<ul>
<li>选择第$r$行,循环右移$a$次。</li>
<li>选择第$c$列,循环上移$b$次。</li>
</ul>
</p>

<p>给出一个最终局面,要求你在$100$次操作以内完成。。
}}}

=== Input ===

{{{
#!html
<p class="input">
$S_0$<br>
$S_1$<br>
$S_2$<br>
$S_3$
</p>

<p>保证$100$次以内有解</p>
}}}

=== Output ===

{{{
#!html
<p>第一行输出需要的操作次数$N$ ($1 \le N \le 100$)。接下来每行输出一个操作,格式如下:
<ul>
<li>R r a: 表示第$r$行循环右移了$a$次($0 \le r \le 3, 1 \le a \le 3$)。</li>
<li>C c b: 表示第$c$列循环上移了$b$次($0 \le c \le 3, 1 \le b \le 3$)。</li>
</ul>
</p>
}}}

=== Sample ===

==== Sample 1 ====
输入
{{{
#!html
<pre>
BCDA
EFGH
IJKL
MNOP
</pre>
}}}
输出
{{{
#!html
<pre>
1
R 0 1
</pre>
}}}

==== Sample 2 ====
输入
{{{
#!html
<pre>
ANCD
EBGH
IFKL
MJOP
</pre>
}}}
输出
{{{
#!html
<pre>
1
C 1 3
</pre>
}}}

==== Sample 3 ====
输入
{{{
#!html
<pre>
FHLE
MOIC
DNPB
AKGJ
</pre>
}}}
输出
{{{
#!html
<pre>
14
C 0 2
C 3 1
R 1 3
C 3 2
R 2 1
R 1 2
C 2 2
R 0 1
R 0 3
R 0 2
C 3 1
R 0 1
C 1 3
R 2 1
</pre>
}}}

No.585 工夫のないパズル

Description

有一个$4 \times 4$个字符矩阵,如下图:

ABCDEFGHIJKLMNOP

你可以做如下两种操作:

  • 选择第$r$行,循环右移$a$次。
  • 选择第$c$列,循环上移$b$次。

给出一个最终局面,要求你在$100$次操作以内完成。。

Input

$S_0$
$S_1$
$S_2$
$S_3$

保证$100$次以内有解

Output

第一行输出需要的操作次数$N$ ($1 \le N \le 100$)。接下来每行输出一个操作,格式如下:

  • R r a: 表示第$r$行循环右移了$a$次($0 \le r \le 3, 1 \le a \le 3$)。
  • C c b: 表示第$c$列循环上移了$b$次($0 \le c \le 3, 1 \le b \le 3$)。

Sample

Sample 1

输入

BCDAEFGHIJKLMNOP

输出

1R 0 1
Sample 2

输入

ANCDEBGHIFKLMJOP

输出

1C 1 3
Sample 3

输入

FHLEMOICDNPBAKGJ

输出

14C 0 2C 3 1R 1 3C 3 2R 2 1R 1 2C 2 2R 0 1R 0 3R 0 2C 3 1R 0 1C 1 3R 2 1