求大神帮忙看看uva 129 递归问题
代码如下 为什么一运行就崩溃?求大神帮忙看看题目地址 http://blog.
#include<cstdio>
#include<cstring>
int s[100];
int n,L,cnt=0;
int judge(int cur) //判断
{
int d=cur/2; printf("%d",cur);
bool ok=false;
while(d--)
{
for(int i=cur;i>cur-d;i--)
{
if(s[cur]!=s[cur-d]) {ok=true;break;}
}
if(!ok) return 0;
}
return 1;
}
void dfs(int cur)
{
if(cnt++==n) //输出部分 有格式
{
for(int i=1;i<=cur;i++)
{
printf("%c",s[i]+'A');
if(i%4==0) printf(" ");
if(i==64) printf("\n");
printf("\n%d\n",cur);
}
return;
}
else //递归部分
{
for(int j=0;j<L;j++)
{
s[cur]=j;
if(judge(cur)) dfs(cur+1);
}
}
}
int main()
{
while(scanf("%d%d",n,L)==2 && n)
{
dfs(1);
return 0;
}
}