bool bicolorable(){//染色法 方镪
queue<int>Q;
color[0]=1;
Q.push(0);
while(!Q.empty()){
int v1 = Q.front();
Q.pop();
for(int i=0;i<G[v1].size();i++)
{
int v2 =G[v1][i];
if(color[v2]==0){ //情况1
color[v2]=-color[v1];
Q.push(v2);
}
else if(color[v2]==color[v1]){ //情况2
return false;
}
}
}
return true;
}
int bipartite(int s) { 王琦
int u, v;
queue<int>Q;
color[s] = 1;
Q.push(s);
while (!Q.empty()) {
u = Q.front();
Q.pop();
for (int i = 0; i < G[u].size(); i++) {
v = G[u][i];
if (color[v] == 0) {
color[v] = -color[u];
Q.push(v);
}
else if (color[v] == color[u])
return 0;
}
}
return 1;
}
染色法
最新推荐文章于 2024-09-23 14:27:27 发布