AT_arc024_2.[ARC024B] 赤と黒の木

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在红黑岛上生长着一种奇特的树,它们的颜色会在红色和黑色之间变化。这些树以一个圆圈的形式排列在岛上。

这种树具有独特的“平衡”特性:如果一棵树和它相邻的两棵树颜色相同,那么第二天这棵树的颜色会改变。具体来说,假设有三棵连续的树 A,B,CA, B, C,它们的颜色分别为 CA,CB,CCC_A, C_B, C_C。如果当天三棵树的颜色都为红色,即 $C_A = C_B = C_C = $ 红色,那么第二天 CBC_B 的颜色会变为黑色,反之亦然。

需要注意的是,这些树在“平衡”时,只根据当天自己的颜色情况来做决定,而不考虑邻居的变化。因此,即便经过一天,也可能出现三个连续的同色树(请参见示例)。在这种情况下,第二天也会继续“平衡”。

作为研究者,你已经观察到了由 NN 棵树组成的这个群体第一天的颜色分布。请你计算出经过多少天这些树的颜色才不再变化。

输入格式

输入格式如下:

$ N $
$ color_1 $
$ color_2 $
...
$ color_N $

  • 第一行是树的数量 N (3≤N≤105)N\ (3 \leq N \leq 10^5)。
  • 随后的 NN 行中,第 ii 行表示第 ii 棵树的颜色 colori (colori=0,1)color_i\ (color_i = 0, 1)。
  • 如果 colori=0color_i = 0,则表示该树为黑色;如果 colori=1color_i = 1,则为红色。
  • 树呈圆形排列,意味着第 ii 棵树与第 i+1i+1 棵树相邻,第 NN 棵树与第 11 棵树相邻。

输出格式

输出所有树的颜色不再变化的那一天。如果这种情况永远不会出现,则输出 −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测评打分。不知道怎么写?

首页