hdu1814 Peaceful Commission,2-sat


题目大意:一国有n个党派,每个党派在议会中都有2个代表,现要组建和平委员会,要从每个党派在议会的代表中选出1人,一共n人组成和平委员会。已知有一些代表之间存在仇恨,也就是说他们不能同时被选为和平委员会的成员,现要你判断满足要求的和平委员会能否创立?如果能,请任意给出一种方案。


2-sat问题


#include 
#include 
#include 
#include 
#include 
using namespace std;

const int maxn = 10005;
int n, m;
vector G[maxn*2];
bool mark[maxn*2];
int S[maxn*2], top;

bool dfs(int x)
{
    if(mark[x^1]) return false;
    if(mark[x]) return true;
    mark[x] = true;
    S[top++] = x;
    for(int i=0; i


你可能感兴趣的:(ACM-图论与网络流)