题意:
一个圆盘的边沿上有n个点, 下标从0开始, 有m条线连接2m个互不相同的点, 线可以在圆盘内部,也可以在圆盘外部, 要求任意两条线不能相交. 给出m条线(内外随意), 问是否满足每条线都不相交.
思路:
可以将第i条线看成一对顶点,编号分别为2*i和2*i+1.那么如果线段i与j相交,就在2*i与2*j+1以及2*i+1与2*j之间连一条双向边。然后就转化到2-sat上判断是否存在可行解了。
//#pragma comment(linker,"/STACK:327680000,327680000")#include #include #include #include #include #include #include #include #include #include #include #include #include