QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 512 MB Puntuación total: 100

#3168. 字母轮盘

Estadísticas

有三个水平放置的字母轮叠在一起,它们具有相同数量的列。每个轮子的每一列边缘上都有一个字母,即 ‘A’、‘B’ 或 ‘C’。你可以旋转这些轮子来调整字母的位置。单次旋转操作可以将任意一个轮子向左或向右移动一列。当然,这些轮子是圆形的,因此第一列和最后一列是相邻的。

你需要判断是否可以通过旋转轮子,使得每一列在三个轮子上对应的字母各不相同。如果可以,请确定所需的最少旋转次数。

输入格式

输入包含三行。每行是一个字符串 $s$ ($2 \le |s| \le 5 \cdot 10^3$),仅由大写字母 ‘A’、‘B’ 或 ‘C’ 组成,描述了其中一个轮子初始位置的字母。所有三个字符串的长度相同。

输出格式

输出一个整数,表示所需的最少旋转次数;如果无法实现,则输出 $-1$。

样例

样例输入 1

ABC
ABC
ABC

样例输出 1

2

样例输入 2

ABBBAAAA
BBBCCCBB
CCCCAAAC

样例输出 2

3

样例输入 3

AABB
BBCC
ACAC

样例输出 3

-1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.