###### 编程介的小学生

2019-04-27 11:01 阅读 227

# 谈心算法贪婪匹配的一个实现，具体怎么表示最大数字用C语言的代码去实现

Problem Description
As we all know Uncle CTW is a very greedy uncle,he likes collecting jewels.One day he gets a necklace with beautiful gems,he has a strange habit,that he only collects the contiguous gems with with same color.That means if he pick a red gem at first,and he will continue to pick only if the next gem is red,or he will stop.(That's why people call him "Uncle.Strange").
As it is a necklace,he must find somewhere to cut the necklace at the very begining,then select an end to pick until meet a different color gem,and do the same for the other end (which might not be of the same color as the gems collected before this).
There are only three kinds of gems,red('r'),pink('p'),and white('w'),and NOTICE that,because the white one could be painted,so it can be seen as either color.(See the sample for detail.)
Now he just want to know the maximum number of gems he can collect,could you tell him?

Input
The first line contain an integer T,then T lines,each line with a string only contain r,p or w ,with length no more than 400.

Output
One integer per line indicating the maximum nunber.

Sample Input
1
wwwpprwrprprrprprwrwwrpwrwrrp

Sample Output
11

Hint:
Consider two copies of the beads (kind of like being able to runaround the ends). The string of 11 is marked.
wwwpprwrprprrprprwrwwrpwrwrrp wwwpprwrprprrprprwrwwrpwrwrrp
****** *****

• 点赞
• 写回答
• 关注问题
• 收藏
• 复制链接分享