题目大意:给定 N 个点和一些有向边,求是否能够将这个有向图的点分成两个集合,使得同一个集合内的任意两个点都有双向边联通. 题解:反向思考,对于没有双向边的两个点一定不能在同一个集合中.因此,构建一个图,若两点之间有边,则表示这两个点不能在同一个集合中.进行二分图染色判定即可,若是二分图,则满足条件,反之则不满足. 代码如下 #include <bits/stdc++.h> #define pb push_back using namespace std; const int maxn=110…