2 fndlu fndlu 于 2016.01.30 12:37 提问

c++的祖玛问题,用的是链表,测试时有时会停止运行,不能连消,源码如下,求大神指错;

#include
#include
struct zm{
char c;

struct zm *pre;
struct zm *next;
};
struct zm *head,*p,*t;
void reset(int n,char co) //插入珠子
{
int i;

p=head;
for(i=1;i<=n;i++)p=p->next;

t=(struct zm *)malloc(sizeof(struct zm));
t->c=co;
t->next=p->next;
t->pre=p;
p->next->pre=t;
p->next=t;

}
void printzm() //输出珠串
{
p=head->next;
if(p->c=='+'){printf("-\n");return;}
while(p->c!='+'){printf("%c",p->c);p=p->next;}
printf("\n");
}
void check(int k) //消除珠子
{
int i,lc,rc;
struct zm *l,*r;
p=head->next;
for(i=1;i<=k;i++)p=p->next;
l=p->pre;r=p->next;
lc=0;rc=0;
while(l->c==p->c)
{
lc++;
l=l->pre;
}
while(r->c==p->c)
{
rc++;
r=r->next;
}
if(lc+rc+1>=3){r->pre=l;l->next=r;}
if(l->c==r->c){k-=lc;check(k);}
}
int main()
{
p=(struct zm *)malloc(sizeof(struct zm)); //链表'+'.....'+'
p->c='+';
head=p;
t=(struct zm *)malloc(sizeof(struct zm));
t->c='+';
p->next=t;
t->pre=p;
t->next=NULL;
char tmp;
char s[5];
int cnt,n,i,k;
cnt=0;
scanf("%c",&tmp);
while(tmp!='\n') //放置
{
reset(cnt,tmp);
cnt++;
scanf("%c",&tmp);
}
scanf("%d",&n);
for(i=1;i<=n;i++) //输出
{
scanf("%d",&k);scanf("%s",s);
reset(k,s[0]);
check(k);
printzm();

}
system("pause");
return 0;
}

1个回答

caozhy
caozhy   Ds   Rxr 2016.01.31 08:32
已采纳

看了你的程序半天没明白你怎么做。注释也没有,连怎么运行都没说。

不过网上有个类似的代码:
http://download.csdn.net/detail/yeargold/9211641

(如果没有积分,采纳了本回答,我可以帮你下载)

caozhy
caozhy 留下邮箱,发给你
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
经典消除游戏——Unity 祖玛游戏
在Unity设计一个祖玛游戏
祖玛游戏源码
是我看到的祖玛源代码 希望对大家有帮助。
祖玛(Zuma)
祖玛是一款曾经风靡全球的游戏,其玩法是:在一条轨道上初始排列着若干个彩色珠子,其中任意三个相邻的珠子不会完全同色。此后,你可以发射珠子到轨道上并加入原有序列中。一旦有三个或更多同色的珠子变成相邻,它们就会立即消失。这类消除现象可能会连锁式发生,其间你将暂时不能发射珠子。 开发商最近准备为玩家写一个游戏过程的回放工具。他们已经在游戏内完成了过程记录的功能,而回放功能的实现则委托你来完成。 游戏过
THU数据结构编程作业一:祖玛(Zuma)
* 祖玛(Zuma) *描述 祖玛是一款曾经风靡全球的游戏,其玩法是:在一条轨道上初始排列着若干个彩色珠子,其中任意三个相邻的珠子不会完全同色。此后,你可以发射珠子到轨道上并加入原有序列中。一旦有三个或更多同色的珠子变成相邻,它们就会立即消失。这类消除现象可能会连锁式发生,其间你将暂时不能发射珠子。开发商最近准备为玩家写一个游戏过程的回放工具。他们已经在游戏内完成了过程记录的功能,而回放功能的实现
Tsinghua OJ:祖玛(Zuma)
祖玛(Zuma) Description Let's play the game Zuma! There are a sequence of beads on a track at the right beginning. All the beads are colored but no three adjacent ones are allowed to be with
数据结构祖玛问题程序
数据结构c++课的程序题的祖玛问题的程序就在这儿,没有超时,拿高分,欢迎借鉴参考,不用谢!
祖玛游戏源码:——天地会
具体地址: http://flash.9ria.com/thread-45232-1-1.html  
2015良心系列_HTML5祖玛游戏源码
请在支持HTML5的浏览器中运行,简单的祖玛游戏,实现了计分功能。 这是良心系列,绝对不会传与标题不一致的资源,下载后,如不能运行或与运行结果描述不一致,请直接在评论中骂我。感谢您的浏览,谢谢!
html5游戏开发之-----祖玛小游戏<原创>
/*祖玛小游戏相信很多人玩过, 今天我尝试在html5的画布上尝试用js写了一个小游戏, 开过过程的感悟是: 遇到一堆代码的时候,应该首先得出一个整体的框架 然后根据这个粗略的框架进行分块开发 即使刚开始的时候毫无头绪 也要即刻动手 昨天在看jQuery源码的时候 看着8千行的代码 如果硬着头皮从第一行开始看 保证过不了多久便放弃了 正确的做法是 从
Tsinghua OJ 数据结构编程作业:祖玛(Zuma)
Tsinghua OJ, 数据结构 ,邓俊辉,编程习题