0 0.。。。。。。
最大团的定义说实话。。。每过一阵子就忘了。。。
首先---团,每个顶点,每条边都是属于给定的图的。并且里面每个顶点都相连
----最大团,就是顶点数最多的团
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <queue>
using namespace std;
#define maxn 55
int a[maxn][maxn],vis[maxn];
int n,cnt,ans;
void search(int x)
{
if(x==n)
{
if(ans<cnt) ans=cnt;
return;
}
int i;
for(i=0;i<x;i++)
{
if(vis[i]&&a[i][x]==0)
break;
}
if(i==x)
{
cnt++;vis[x]=1;
search(x+1);
cnt--;vis[x]=0;
}
if(cnt+n-1-x>ans) search(x+1);
}
int main()
{
while(scanf("%d",&n)!=EOF&&n)
{
for(int i=0;i<n;i++) for(int j=0;j<n;j++) scanf("%d",&a[i][j]);
memset(vis,0,sizeof(vis));
cnt=ans=0;
search(0);
cout<<ans<<endl;
}
return 0;
}