zoj 1492(最大团)

Posted 发牌员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zoj 1492(最大团)相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
const int maxn=100;
int g[maxn][maxn];
int n,cnt,ans;
int b[maxn],bb[maxn];
void dfs(int x)
{
    if(x>n)
    {
         if(cnt>ans)
         {
             ans=cnt;
             memcpy(b,bb,sizeof(bb));
         }
         return;
    }
      int flag=1;
     for(int i=1;i<x;i++)
        if(bb[i]&&!g[i][x])
     {
         flag=0;
         break;
     }
     if(flag)
     {
         cnt++,bb[x]=1;
          dfs(x+1);
          cnt--,bb[x]=0;
     }
     if(n-x+cnt>ans)
        dfs(x+1);
}
void init()
{
     cnt=0;
      ans=0;
      memset(b,0,sizeof(b));
      memset(bb,0,sizeof(bb));
       memset(g,0,sizeof(g));
}
int main()
{
   while(~scanf("%d",&n)&&n)
   {  init();
         for(int i=1;i<=n;i++)
             for(int j=1;j<=n;j++)
                  scanf("%d",&g[i][j]);
      dfs(1);
      printf("%d\n",ans);
   }
    return 0;
}

 

板子

以上是关于zoj 1492(最大团)的主要内容,如果未能解决你的问题,请参考以下文章

CF1492C - Maximum width

CF1492C - Maximum width

[ZOJ 3778] Talented Chef

hdu1530 求最大团

cdq分治入门--BZOJ1492: [NOI2007]货币兑换Cash

CF1492B - Card Deck