NOIP都快来了我在刷什么猎奇题目啊_(:з)∠)_
题意:给定一个图,求最大完全子图。
最大完全子图=最大团,正解不会,歇菜。
随机一个排列以后暴力求解。
由于没有打过基本上看hzwer的QAQ
#include<cstdio>
#include<algorithm>
#include<cstring>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fd(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
const int N=1e5+5;
typedef long long ll;
int n,ans,b[55];
bool a[55][55],del[55];
inline void getans()
{
memset(del,0,sizeof(del));
int ret=0;
fo(i,1,n)
if (!del[i])
{
ret++;
fo(j,i+1,n)
if (!a[b[i]][b[j]])del[j]=1;
}
ans=max(ret,ans);
}
int main()
{
scanf("%d",&n);
int x,y;
while (scanf("%d%d",&x,&y)!=EOF)
{
a[x][y]=a[y][x]=1;
}
fo(i,1,n)b[i]=i;
fo(i,1,10000)
{
fo(j,1,n)
swap(b[j],b[rand()%j+1]);
getans();
}
printf("%d\n",ans);
}