UVA193 Graph Coloring - 一般图最大独立集 -
题目链接:https://www.luogu.com.cn/problem/UVA193
题解:
注意不是二分图最大独立集和最大匹配没啥关系
直接dfs
// by SkyRainWind
#include <bits/stdc++.h>
#define mpr make_pair
#define debug() cerr<<"Yoshino\n"
#define rep(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)
#define pii pair<int,int>
using namespace std;
typedef long long ll;
typedef long long LL;
const int inf = 1e9, INF = 0x3f3f3f3f;
int mp[105][105];
int b[222],cnt=0,a[222],ans,n,m;
int check(int x){
for(int i=1;i<=cnt;i++)
if(mp[x][b[i]])return 0;
return 1;
}
void dfs(int x){
if(ans<cnt)ans=cnt,memcpy(a, b, sizeof b);
for(int i=x+1;i<=n;i++)if(check(i)){
b[++cnt]=i;
dfs(i);
--cnt;
}
}
void solve(){
memset(mp,0,sizeof mp);
cnt=0;memset(a,0,sizeof a);memset(b,0,sizeof b);
ans=0;
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
int x,y;scanf("%d%d",&x,&y);
mp[x][y] = mp[y][x] = 1;
}
dfs(0);
printf("%d\n",ans);
for(int i=1;i<=ans;i++)printf("%d%c",a[i]," \n"[i == ans]);
}
signed main(){
int te;scanf("%d",&te);
while(te--)solve();
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示