AT_arc024_2.[ARC024B] 赤と黒の木
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在红黑岛上生长着一种奇特的树,它们的颜色会在红色和黑色之间变化。这些树以一个圆圈的形式排列在岛上。
这种树具有独特的“平衡”特性:如果一棵树和它相邻的两棵树颜色相同,那么第二天这棵树的颜色会改变。具体来说,假设有三棵连续的树 A,B,C,它们的颜色分别为 CA,CB,CC。如果当天三棵树的颜色都为红色,即 $C_A = C_B = C_C = $ 红色,那么第二天 CB 的颜色会变为黑色,反之亦然。
需要注意的是,这些树在“平衡”时,只根据当天自己的颜色情况来做决定,而不考虑邻居的变化。因此,即便经过一天,也可能出现三个连续的同色树(请参见示例)。在这种情况下,第二天也会继续“平衡”。
作为研究者,你已经观察到了由 N 棵树组成的这个群体第一天的颜色分布。请你计算出经过多少天这些树的颜色才不再变化。
输入格式
输入格式如下:
$ N $
$ color_1 $
$ color_2 $
...
$ color_N $
- 第一行是树的数量 N (3≤N≤105)。
- 随后的 N 行中,第 i 行表示第 i 棵树的颜色 colori (colori=0,1)。
- 如果 colori=0,则表示该树为黑色;如果 colori=1,则为红色。
- 树呈圆形排列,意味着第 i 棵树与第 i+1 棵树相邻,第 N 棵树与第 1 棵树相邻。
输出格式
输出所有树的颜色不再变化的那一天。如果这种情况永远不会出现,则输出 −1。
输入输出样例
输入#1
5 0 1 1 1 0
输出#1
2
输入#2
6 1 1 0 1 1 1
输出#2
3
输入#3
3 1 1 1
输出#3
-1
说明/提示
示例解释
示例 1
如图所示,变化停留在第二天。
- 第一天,第 3 棵树与其相邻的树颜色相同,因此颜色改变。
- 从第二天开始,颜色不再变化。
示例 2
如图所示。注意第 6 棵树和第 1 棵树是相邻的。
- 第一天,第 1、5 和 6 棵树因为与相邻树相同颜色,因此颜色改变。
- 第二天,第 6 棵树颜色改变。
- 从第三天开始,颜色不再变化。
示例 3
所有树仅在全黑或全红两种状态间交替。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?