P16002 [ICPC 2020 NAC] Letter Wheels
题目描述
有三个水平放置的字母轮,上下堆叠,它们具有相同的列数。每个轮子的边缘上,每一列都有一个字母,字母只能是 'A'、'B' 或 'C'。你可以旋转这些轮子来调整字母的位置。一次 **旋转** 操作可以将任意一个轮子向左或向右旋转一列。当然,轮子是圆形的,因此第一列和最后一列相邻。
你需要判断是否可以通过旋转,使得每一列上三个轮子的字母互不相同。如果可行,请找出所需的最少旋转次数。
输入格式
输入恰好有三行。每行是一个字符串 $s$($2 \le |s| \le 5 \cdot 10^3$),仅由大写字母 'A'、'B' 或 'C' 组成,描述一个轮子上字母的初始位置。三个字符串的长度相同。
输出格式
输出一个整数,表示所需的最少旋转次数;如果不可能,则输出 $-1$。
说明/提示
翻译由 DeepSeek V3.2 完成