题目 2003

usaco-1.1.4 破碎的项链

题号
2003
时间限制
1000 ms
内存限制
134217728 MB
标签
贪心枚举

题目描述

毛毛发现了一片由N个最多由3种颜色的岛屿组成的群岛(3<=N<=350)。这里举个例子说明:

r代表红色岛屿 b代表蓝色岛屿 w代表白色岛屿

文本
      r  <------ first
   w     w
  r        r
    b    r
       b

假如认为first所指向的位置是第一个岛屿,那么从first开始顺时针记录下来,就得到了一个字符串

文本
rwrrbbrw

如果在群岛的某个位置断开,展开成直线,然后从一端开始探索同样颜色的岛屿,直到遇到颜色不同的岛屿就停止. 从断开的另一端也要开始探索.

注意每个岛屿只能被探索一次,也就是说无论从哪端开始,如果某个岛屿以前被探索过,再次探索也不记数.

问如何断开可以探索到最多的岛屿数?

注意如果遇到白色的岛屿,可以视为红色岛屿,也可以视为蓝色岛屿。

输入包含N的值和用字符串表示的群岛。输出应该是从该群岛可以探索到的最大岛屿数。

输入格式

第一行包含一个整数N(1 ≤ N ≤ 350),表示群岛的数量。

接下来一行代码这些岛屿形成的字符串

输出格式

输出一个整数,表示从该群岛可以探索到的最大岛屿数。

样例 #1

样例输入 #1

文本
8
rwrrbbrw

样例输出 #1

文本
8

样例 #2

样例输入 #2

文本
29
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb

样例输出 #2

文本
11

提示

一开始你遇到到就是白色的岛屿,应该如何做呢?