Closed 。这个问题需要多问focused 。目前不接受答案。
项链断了
您有一条由 N 个红色、白色或蓝色珠子 (3
1 2 1 2
r b b r b r r b
r b b b
r r b r
r r w r
b r w w
b b r r
b b b b
b b r b
r r b r
b r r r
b r r r
r r r b
r b r r r w
Figure A Figure B
r red bead
b blue bead
w white bead
下文中考虑的第一和第二珠子已在图片中标记。
图A中的配置可以表示为一串b和r,其中b代表蓝色珠子,r代表红色珠子,如下: brbrrrbbbrrrrrbrrbbrbbbbrrrrb 。
假设您要在某个时候折断项链,将其平直放置,然后从一端收集相同颜色的珠子,直到到达不同颜色的珠子,并对另一端执行相同的操作(这可能不是与之前收集的珠子颜色相同)。
确定项链应该断裂的位置,以便收集最多数量的珠子。
Example
例如,对于图 A 中的项链,可以收集 8 颗珠子,断裂点位于珠子 9 和珠子 10 之间,或者位于珠子 24 和珠子 25 之间。
在一些项链中,包含白色珠子,如上图 B 所示。收集珠子时,遇到的白色珠子可以被处理为红色或蓝色,然后涂上所需的颜色。表示此配置的字符串将包含三个符号 r、b 和 w。
编写一个程序来确定可以从提供的项链中收集的最大珠子数量。
输入格式
第 1 行:N,珠子的数量
第2行:N个字符的字符串,每个字符为r、b或w
29
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb
输出格式
单行包含可从提供的项链中收集的最大数量的珠子。
11
输出说明
考虑珠子的两个副本(有点像能够绕过两端)。 11 的字符串被标记。
Two necklace copies joined here
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb| wwwbbrwrbrbrrbrbrwrwwrbwrwrrb
******|*****
rrrrrb|bbbbb <-- assignments
5xr .....#|##### 6xb
5+6 = 11 total
这是我遇到的 USACO 训练问题;我不断得到不正确的答案。 ...请不要告诉我这是愚蠢的;那没有帮助! :D