第一次用vector解得题。值得纪念,这道题是二染色问题,我用bfs解得。就是染色,推断,计数问题,其
实挺简单的,就是得判一下特殊情况,当n<2的时候就不能有解,由于题目要求每一个组至少有一个人。当没有不认识的
人的时候就是一个组是n-1,还有一个组人数为1
上代码:
#include#include #include #include #include #include using namespace std;int visit[100005];int n,m,flag,ans1,ans2;vector v[100005];int bfs(int x){ queue q; q.push(x); visit[x] = 1; while(!q.empty()) { int y = q.front(); q.pop(); if(visit[y] == 1) ans1++; else ans2++; for(int i=0; i