展开全部
2008-05-08 22:26#include
#include
#include
typedef struct
{
int maxlen;//对应各个顶点32313133353236313431303231363533e4b893e5b19e31333238656630最大团的顶点个数
int ar[6][10];//最大团方案
int num;//各顶点的所有团的个数
}Arr;
void Turn(Arr m[20],int a1[20][20],int a2[20][20],int i,int vertex)//将无向图矩阵转化为三维数组形式寻找所有最大团
{
int j,k(1),tem,len(1),m1,m2;
int flag=1;
m[i].maxlen=0;
for(j=1;j<=vertex-1;j++)
if(a1[a2[i][0]][a2[i][j]]!=1)
a2[i][j]=0; //更新相邻顶点矩阵数组
for(j=1;j
for(k=j+1;k<=vertex-1;k++)
if(a1[a2[i][j]][a2[i][k]]!=1)
{
flag=0;
m1=j;
m2=k;
break;
}//判断是否为此顶点的团
if(flag)
{
m[i].num++;
for(j=1;j&