博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3207 Ikki's Story IV - Panda's Trick(2-SAT判断)
阅读量:4073 次
发布时间:2019-05-25

本文共 926 字,大约阅读时间需要 3 分钟。

【题目链接】

【题目大意】

一个圆圈上有N个数:0,1,2……N-1。 然后有m条线两两连接这些点,这些线可以在圆圈里面,也可以在圆圈外面。问有没有一种方式,使得这些线都不相交。

【思路】

以线为单位,每条线要么在圆圈里面,要么在圆圈外面,典型的2-SAT模型。

【代码】

#include
#include
#include
using namespace std;typedef long long int64;const int MAXN = 1010;const int VN = MAXN*2;const int EN = VN*VN/2;int n, m;int arr[VN][2];struct Graph{ int size; int head[VN]; struct{ int v, next; }E[EN]; void init(){ size = 0; memset(head, -1, sizeof(head)); } void addEdge(int u, int v){ E[size].v = v; E[size].next = head[u]; head[u] = size++; }}g;class Two_Sat{public: bool check(const Graph& g, const int n){ scc(g, n); for(int i=0; i
B[0]&&A[0]
B[1]) || A[1]>B[0]&&A[1]
B[1]);}int main(){ while(~scanf("%d%d", &n, &m)){ g.init(); for(int i=0; i
arr[i][1]) swap(arr[i][0], arr[i][1]); } for(int i=0; i

转载地址:http://dpzni.baihongyu.com/

你可能感兴趣的文章
关于Flash CS3创建Sprite类型的问题
查看>>
AS3通俗教程---AS3自身loading制作
查看>>
0 bytes after compression出现的情况
查看>>
内存回收专题
查看>>
[资料] 史上最强的伯克利大学1024线飞龙AI下载地址,有没有人有兴趣来测试一手?...
查看>>
Discuz多人斗地主积分版,消耗论坛积分的斗地主
查看>>
discuz X2斗地主积分版插件安装方法(用户版)
查看>>
ASP.NET程序也能像WinForm程序一样运行
查看>>
听到两个程序员聊天——A:“借我1K块。”
查看>>
轻松搭建一个Windows SVN服务器
查看>>
Discuz X2多人斗地主[消耗论坛积分]小体积版本,仅25MB!
查看>>
大型多人在线MMO RPG游戏最重要的二个职位
查看>>
NVIDIA_Fermi_GPU架构简单解析(转)
查看>>
以前看过一个压缩过的.exe,运行会播放长达半小时的动画,却只有60KB,个人认为其中的原理...
查看>>
给vs2012轻松换肤
查看>>
socket短时间内重连需注意的问题
查看>>
关于线程和线程栈
查看>>
VisualSvn Server安装和使用
查看>>
几种软件常用授权方式总结
查看>>
liunx立即关机命令是什么?
查看>>