设为首页 加入收藏

TOP

UVA 11294 POJ 3648 Wedding
2015-07-20 17:47:34 来源: 作者: 【 】 浏览:3
Tags:UVA 11294 POJ 3648 Wedding

题意:

婚礼上新郎新娘坐在桌子两侧 新娘只能看见对面的人 已知一些人有XX关系… 新娘不想看见有关系的同时坐在对面 问 满足条件的情况下 新娘这边做的人是谁

思路:

新郎那一边的约束最多 有利于解题 那么就变成了 一个人要不要坐新郎这边的2-sat问题 因此可以先求新郎这边的人 然后反一下就是新娘这边的了 注意 新郎是必选点 而且 不能选和新郎有XX关系的…

代码:

#include
  
   
#include
   
     #include
    
      using namespace std; #define N 70 int n,m,tot,top,idx,cnt; int dfn[N],low[N],st[N],instack[N],belong[N],col[N],in[N],head[N],opt[N],qu[N]; struct edge { int u,v,next; }ed[N*N*2]; void add(int u,int v) { ed[tot].u=u; ed[tot].v=v; ed[tot].next=head[u]; head[u]=tot++; } void tarjan(int u) { int i,v; dfn[u]=low[u]=++idx; instack[u]=1; st[++top]=u; for(i=head[u];~i;i=ed[i].next) { v=ed[i].v; if(dfn[v]==-1) { tarjan(v); low[u]=min(low[u],low[v]); } else if(instack[v]&&dfn[v]
     
      

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇hdu 3886 Final Kichiku “Lanlan.. 下一篇C++设计模式之状态模式(二)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)