随机化贪心求助
查看原帖
随机化贪心求助
392816
小小蒲公英楼主2023/10/12 16:16

代码挺短的,应该不用解释qwq
稳定在AC#2#3,感觉是式子上哪有问题?

#include<bits/stdc++.h>
using namespace std;
const int maxn = 60;
int N,T=100000;
int l[maxn],ans;
bool is[maxn][maxn],v[maxn];
int main()
{
    cin>>N;
    for(int i=1;i<=N;i++) l[i] = i;
    int a,b;
    while(cin>>a>>b) is[a][b] = is[b][a] = true;
    while(T--)
    {
        for(int i=1;i<=N;i++) v[i] = false;
        random_shuffle(l+1,l+1+N);
        for(int i=1;i<=N;i++)
        {
            if(v[l[i]]) break;
            ans = max(ans,i);
            for(int j=1;j<=N;j++)
            {
                if(!is[l[i]][j]) v[j] = true;
            }
        }
    }
    cout<<ans;
	return 0;
}

2023/10/12 16:16
加载中...