想看的就帮忙看下吧,不知道那出错了

Tiger-3D Tiger-3D 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

/**********************************************************
5-8 m图着色问题
2011年5月7日9:05:30

记录:
************************************************************/
#include<iostream>
using namespace std ;

class Color
{
private :
int n , //图的顶点数
**a , //图的邻接矩阵
m , //可用着色数
*x ; //当前解
long Sum ; //已找到的可行方案

bool Available (int t) ; //检查颜色的可用性
void Backtrack (int t) ; //m图着色问题核心算法

public :
Color () //默认的构造函数
{
n = m = Sum = 0 ;
}

Color (int n, int m) //带形参的构造函数
{
int i(0), j(0) ;

this ->n = n ;
this ->m = m ;
Sum = 0 ;

x = new int[n+1] ;
a = new int*[n+1] ;
for (i = 1 ; i <= n ; ++i)
a[i] = new int[n+1] ;

for (i = 1 ; i <= n ; ++i)
x[i] = 0 ;

cout <<"请依次输入该图的边的信息......"<<endl ;
for (i = 1 ; i <= n ; ++i)
for (j = 1 ; j <= n ; ++j)
cin >>a[i][j] ;
}

~Color () //析构函数
{
int i(0) ;

delete []x ;
for (i = 1 ; i <= n ; ++i)
delete []a[i] ;
delete []a ;
}

friend int mColoring (int n, int m) ;
} ;

int mColoring (int n, int m) ;

int main()
{
cout <<"请分别输入图的顶点数和颜色种数:" ;
int n(0), m(0) ;
cin >>n >>m ;

int Sum = mColoring (n, m) ;

cout <<"该m着色问题的方案有"<<Sum <<"种!"<<endl ;
return 0 ;
}

int mColoring (int n, int m)
{
Color X(n, m) ;

X.Backtrack (1) ;

return X.Sum ;
}

//m图着色问题核心算法
void Color::Backtrack (int t)
{
if (t > n)
{
int i(0) ;

++Sum ;
for (i = 1 ; i <= n ; ++i)
cout <<x[i] <<' ' ;
cout <<endl ;
}
else
{
int i(0) ;

for (i = 1 ; i <= m ; ++i)
{
x[t] = i ;

if ( Available(t) )
{
Backtrack (t+1) ;
}

x[t] = 0 ;
}
}
}

bool Color::Available (int t)
{
int i (0) ;

for (i = 1 ; i <= n ; ++i)
if ( (a[t][i] == 1) && (x[t] == x[i]) )
return false ;

return true ;
}









问题就是:程序的最后一个函数:Available(int t) 。该函数里面的x[t] 和 x[i] 始终都相等,于是,函数总是返回false
要知道,在类的构造函数里面,我已经把x[i]的值全部初始化为0啦,我cout了一下for 循环里面的x[i] 和 [t],
均相等,等于循环的当前i;
...全文

相关推荐

模糊PID不知道哪出错了-Desktop.zip

模糊PID不知道哪出错了-Desktop.zip 请教大神帮忙给看看

weixin_39840588

微信小程序 合法域名校验出错详解及解决办法

微信小程序 合法域名校验出错详解及解决办法 看下出现错误: 微信小程序开发,遇到这个问题怎么办? 产生原因是因为发起了wx.request请求 而请求的域名没有在微信公众平台后台设置。 1.开发者自己手动设置不检验 不管你有没有拿到App ID ,我相信很多人都会和我一样做一件事,就是二话不说先大概了解下文档,然后直接上github找项目,导入试试。我是这么做的,结果上来就报这个错,后来发现其实可以自己设置本地开发工具不校验域名,完全没有影响。 在“项目”》最后一个选项,勾选之后运行就好了。 2.管理员设置实际项目域名 如果是实际项目开发,那就需要管理员先设置好咯。 设置步骤

weixin_38536841

解决pycharm运行出错,代码正确结果不显示的问题

今天小编就为大家分享一篇解决pycharm运行出错,代码正确结果不显示的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38612811

出错的正则文本,不知道为什么

怎么就无法用正则匹配这个文本,但是随便去掉或者加几个字却又可以匹配了?难道是我人品问题?

pipipa88

解决Python获取字典dict中不存在的值时出错问题

描述:Python2.7中如果想要获取字典中的一个值,但是这个值可能不存在,此时应该加上判断: 举个例子: t= {} if t.get('1'): # right:这种通过key来查询是否存在的方式是比较好的 print(t['1']) print('right') if t['1']: # wrong:这种直接判断是否存在的方式因为会在判断之前调用,所以会报错 print(t['1']) 额外说明: dict.get(key, default=None) 方法详解: Parameters: key — This is the Key to be searched in the

weixin_38625464
评论 6
收藏 已收藏
分享
返回顶部
Tiger-3D
C++ 语言 65,214 成员 250,514 内容