/*设一个环上有编号为 0~n-1 的 n 粒不同颜色的珠子 ( 每粒珠子颜色用字母表示,n
粒珠子的颜色由输入的字符串表示)。将环中某两粒珠子间剪开,环上珠子形成一个序列,然
后按以下规则从序列中取走珠子:首先从序列左端取走所有连续同包珠子;然后从序列右端
在剩下珠子中取走所有连续同色珠子,两者之和为该剪开处可取走珠子的粒数。在不同位置
剪开,能取走的珠子数不尽相同。
本程序所求的是在环上哪个位置剪开,按上述规则可取走的珠子粒数最多。程序中用数
组存储字符串。例如,10 粒珠子颜色对应字符串为“aaabbbadcc”,从 0 号珠子前剪开,
序列为 aaabbbadcc,从左端取走 3 粒 a 色珠子,从右端取走 2 粒 c 色珠子,共取走 5
粒珠子。若在 3 号珠子前剪开,即 bbbadccaaa 共可取走 6 粒珠子。
*/
计算环上可以取走的珠子(C语言实现)
最新推荐文章于 2022-12-29 12:14:18 发布