
高分跪求C++达人解题,要求带上步骤解析,谢谢在线等
根据以下问题描述编写程序,实现求在环上哪个位置剪开,按下述规则可取走的珠子粒数最多,程序可用数组存储字符串。设一个环上有编号为1~n的n粒不同颜色的珠子(每粒珠子颜色用字...
根据以下问题描述编写程序,实现求在环上哪个位置剪开,按下述规则可取走的珠子粒数最多,程序可用数组存储字符串。
设一个环上有编号为 1~n 的 n 粒不同颜色的珠子 ( 每粒珠子颜色用字母表示,n 粒珠子的颜色由输入的字符串表示)。将环中某两粒珠子间剪开,环上珠子形成一个序列,然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续同色珠子;然后从序列右端在剩下珠子中取走所有连续同色珠子,两者之和为该剪开处可取走珠子的粒数。在不同位置剪开,能取走的珠子数不尽相同。
例如,10 粒珠子颜色对应字符串为“aaabbbadcc”,从 1号珠子前剪开,序列为 aaabbbadcc,从左端取走 3 粒 a 色珠子,从右端取走 2 粒 c 色珠子,共取走 5 珠子。若在 4 号珠子前剪开,即 bbbadccaaa 共可取走 6 粒珠子。
还有一题五猴分桃,字多了不够打 展开
设一个环上有编号为 1~n 的 n 粒不同颜色的珠子 ( 每粒珠子颜色用字母表示,n 粒珠子的颜色由输入的字符串表示)。将环中某两粒珠子间剪开,环上珠子形成一个序列,然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续同色珠子;然后从序列右端在剩下珠子中取走所有连续同色珠子,两者之和为该剪开处可取走珠子的粒数。在不同位置剪开,能取走的珠子数不尽相同。
例如,10 粒珠子颜色对应字符串为“aaabbbadcc”,从 1号珠子前剪开,序列为 aaabbbadcc,从左端取走 3 粒 a 色珠子,从右端取走 2 粒 c 色珠子,共取走 5 珠子。若在 4 号珠子前剪开,即 bbbadccaaa 共可取走 6 粒珠子。
还有一题五猴分桃,字多了不够打 展开
4个回答
展开全部
JAVA实现不行么》?
等等,我用C++ 试试看
等等,我用C++ 试试看
更多追问追答
追问
做题要求C++,别的都不行
追答
#include
#include
char str[1000];
int main()
{
int p;
cout>str;
cout>p;
int len=strlen(str);
int i;
char tp=str[0];
for(i=1;i=0;i--)
{
if(tp==str[i])
cn++;
else
break;
}
cout0;i--)
{
if(str[i]==tp)
cn++;
else break;
}
cout<<cn;
}
return 0;
}
没有编译过,可能有错误。虽然有点乱,但是应该能解决这个问题
2011-06-30
展开全部
这个题目好难啊,看不明白。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一共几种颜色?
追问
输入一串字符串,按照字符串的类型选定颜色
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我会C++和.NET,.NET中也有“引用”这个概念,和JAVA是一致的.
我举个例子,假如有个类叫做Point表示一个点,有x和y两个字段表示横纵坐标.那么在C#中:
Point pa=new Point(1,2);
Point pb=pa;
pa.x=5;
相当于C++
Point* pa=new Point(1,2);
Point* pb=pa;
pa->x=5;
delete pa;delete pb;
上面的代码是等价的,修改了pa的横坐标,pb的横坐标也会随着改变,因为它们指向同一对象.
本质上,引用在低层就是指针
我举个例子,假如有个类叫做Point表示一个点,有x和y两个字段表示横纵坐标.那么在C#中:
Point pa=new Point(1,2);
Point pb=pa;
pa.x=5;
相当于C++
Point* pa=new Point(1,2);
Point* pb=pa;
pa->x=5;
delete pa;delete pb;
上面的代码是等价的,修改了pa的横坐标,pb的横坐标也会随着改变,因为它们指向同一对象.
本质上,引用在低层就是指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询