首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

计算环下可以取走的珠子(C语言实现)

2012-12-28 
计算环上可以取走的珠子(C语言实现)/*设一个环上有编号为 0~n-1 的 n 粒不同颜色的珠子 ( 每粒珠子颜色用

计算环上可以取走的珠子(C语言实现)

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

热点排行