我写的回溯法,出现了一个BUG,找了好久。。。。才对上。。。
2010-04-11 22:51
330 查看
最終的結果是输入完所有的情况后,没有退出程序。。。
/*
//回溯法
#define N 100
#define M 100
#include<stdio.h>
int com_back(int m,int n)
{
int a
;
int i=0;
a[i]=1;
do
{
if(a[i]-i<=m-n+1)
{
if(i==n-1)
{
for(int j=0;j<=i;j++)
{
printf("%d ",a[j]);
}
printf("/n");
a[i]++;
continue;
}
i++;
a[i]=a[i-1]+1;
}
else
{
if(i==0)return 0;
i--;
a[i]++;
}
}while(1);
return 1;
}
int main()
{
int m=5,n=3;
com_back(m,n);
return 0;
}
*/
/*
#include<stdio.h>
#define N 100
void com_back(int m,int n)
{
int a
;
int i=0;
a[i]=1;
int remain;
remain=m-a[i];
// do
// int mnt=m/n;
// while(a[i]<=mnt)
do{
if(i==n-1)
{
a[i]+=remain;
for(int i=0;i<n;i++)
{
printf("%d ",a[i]);
}
printf("/n");
i--;
a[i]++;
// a[i+1]=a[i];
remain=a[i+1]-1;
// if(remain<a[i]) return;
}
else if(remain>=a[i])
{
i++;
a[i]=a[i-1];
remain-=a[i];
if(remain<0) break;
}
else
{
if(i<1) return;// break;
i--;
a[i]++;
remain=a[i+1]+remain-1;//我一开始用a[i]来代替remain这就是出错的地方
}
}while(1);
}
int main()
{
int m=7,n=3;
com_back(m,n);
return 0;
}
*/
后来才改过来了。
/*
//回溯法
#define N 100
#define M 100
#include<stdio.h>
int com_back(int m,int n)
{
int a
;
int i=0;
a[i]=1;
do
{
if(a[i]-i<=m-n+1)
{
if(i==n-1)
{
for(int j=0;j<=i;j++)
{
printf("%d ",a[j]);
}
printf("/n");
a[i]++;
continue;
}
i++;
a[i]=a[i-1]+1;
}
else
{
if(i==0)return 0;
i--;
a[i]++;
}
}while(1);
return 1;
}
int main()
{
int m=5,n=3;
com_back(m,n);
return 0;
}
*/
/*
#include<stdio.h>
#define N 100
void com_back(int m,int n)
{
int a
;
int i=0;
a[i]=1;
int remain;
remain=m-a[i];
// do
// int mnt=m/n;
// while(a[i]<=mnt)
do{
if(i==n-1)
{
a[i]+=remain;
for(int i=0;i<n;i++)
{
printf("%d ",a[i]);
}
printf("/n");
i--;
a[i]++;
// a[i+1]=a[i];
remain=a[i+1]-1;
// if(remain<a[i]) return;
}
else if(remain>=a[i])
{
i++;
a[i]=a[i-1];
remain-=a[i];
if(remain<0) break;
}
else
{
if(i<1) return;// break;
i--;
a[i]++;
remain=a[i+1]+remain-1;//我一开始用a[i]来代替remain这就是出错的地方
}
}while(1);
}
int main()
{
int m=7,n=3;
com_back(m,n);
return 0;
}
*/
后来才改过来了。
相关文章推荐
- 我写的回溯法,出现了一个BUG,找了好久。。。。才对上。。。
- ios navi push到下一页面,然后pop返回出现的一个bug
- ajax 和bootstrap混用手残出现的一个bug
- [开发工具]_[VS2010]_[vs2010的一个bug-使用stringstream时出现]
- 学习MVC中出现的一个BUG
- 最近做项目发现一个小bug,get方法请求spring+DBCP+Struts框架出现中文乱码
- 刚发现一个BUG,模态对话框url中含有#时出现的问题
- 编译qt-win-opensource-4.8.2-vs2010中出现的一个bug
- [开发工具]_[VS2010]_[vs2010的一个bug-使用stringstream时出现]
- 出现Bug的一个优秀的解决方法
- ucGUI EDIT控件显示汉字尾部出现乱码问题的一个BUG
- 学习MVC中出现的一个BUG
- 编译clanlib出现vs2008的一个bug: 无法打开程序数据库文件:“..\*.pdb”
- 一个数据读入时出现的BUG
- BufferedReader.readLine()读取文件第一行会出现bug,首行第一个字符会是一个空字符
- [开发工具]_[VS2010]_[vs2010的一个bug-使用stringstream时出现]
- Indy接收邮件可能会出现的一个Bug
- ASP.NET程序运行时出现的一个小BUG
- 在虚拟机的XP中使用管道出现的问题,可能是一个BUG,先记录下来
- 前端动画的bug:hover一个li,左滑进背景图,li上文字消失太快(或者说出现闪现消失)