开会议?
注意:1、所给出的憎恨关系一定是双向的,不存在单向憎恨关系。
2、由于是圆桌会议,则每个出席的骑士身边必定刚好有2个骑士。即每个骑士的座位两边都必定各有一个骑士。
3、一个骑士无法开会,就是说至少有3个骑士才可能开会。
思路:
根据所给图构出补图,Tarjan求点双连通分量(用栈保存边),然后用交叉染色法判断是否存在奇圈,有一个结论是双连通分量如果存在一个奇圈,那么这个分量中所有的点都能在某一个奇圈中,这样就不必每个点都判断了。
代码:
#include
#include
#include
#include
#include
#include
#include