联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2018-04-30 06:28

题目:求最小划分子集

划分子集问题

问题描述:已知集合A={a1,a2,……an},及集合上的关系R={ (ai,aj) | ai,aj∈A, i≠j},其中(ai,aj)表示ai与aj间存在冲突关系。要求将A划分成互不相交的子集A1,A2,……Ak,(k≤n),使任何子集中的元素均无冲突关系,同时要求分子集个数尽可能少。

测试数据:

元素集合A={1,2,3,4,5,6,7,8,9}

冲突关系集合R={ (2,8), (9,4), (2,9), (2,1), (2,5), (6,2), (5,9),

             (5,6), (5,4), (7,5), (7,6), (3,7), (6,3) }

参考框架:

#define N 10

bool testColor(R,m)

{//利用栈测试能否对关系图R,采用m种颜色着色,使得冲突的元素(相邻的区域)着上不同颜色

}


int findMin(bool R[N][N])

{

for (int m=1;m<N;m++)

if (testColor(R,m)==true)

return m;

return N;

}


int main()

{//构造测试数据,调用findMin,并打印结果

}

要求一:利用参考框架求出最小划分子集数量

要求二:增加测试用例

要求三:求出最小划分各个子集的元素,并打印输出

要求四:三月二十九实验课交本子


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp