论坛首页 综合技术论坛

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

浏览 1509 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-05-10   最后修改:2011-05-10

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

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics