也是一道2-sat的入门题;

不过题目描述的不清楚,看了别人的题解才知道题意;

和上面的那题差不多,一个模板;

代码:

  1. #include<cstdio>
  2. #include<stack>
  3. #include<vector>
  4. #include<algorithm>
  5. #include<cstring>
  6. #define maxn 20010
  7. using namespace std;
  8.  
  9. vector<int>ve[maxn];
  10. stack<int>s;
  11. int low[maxn],dfn[maxn],b[maxn],nncount,cnt;
  12. bool instack[maxn];
  13.  
  14. void tarjin(int u)
  15. {
  16. low[u]=dfn[u]=++nncount;
  17. s.push(u);
  18. instack[u]=;
  19. int l=ve[u].size();
  20. for(int i=;i<l;i++)
  21. {
  22. int v=ve[u][i];
  23. if(!dfn[v])
  24. {
  25. tarjin(v);
  26. low[u]=min(low[u],low[v]);
  27. }
  28. else if(instack[v])
  29. low[u]=min(low[u],dfn[v]);
  30. }
  31. if(low[u]==dfn[u])
  32. {
  33. cnt++;
  34. int v;
  35. do
  36. {
  37. v=s.top();
  38. s.pop();
  39. b[v]=cnt;
  40. instack[v]=;
  41. }while(v!=u);
  42. }
  43. }
  44.  
  45. int main()
  46. {
  47. int n,m,x,y,z,t;
  48. while(scanf("%d%d",&t,&m)!=EOF)
  49. {
  50. n=*t;
  51. for(int i=;i<*n;i++)
  52. ve[i].clear();
  53. memset(low,,sizeof low);
  54. memset(dfn,,sizeof dfn);
  55. memset(b,,sizeof b);
  56. nncount=cnt=;
  57. for(int i=;i<t;i++)
  58. {
  59. scanf("%d%d%d",&x,&y,&z);
  60. ve[x+n].push_back(y);
  61. ve[x+n].push_back(z);
  62. ve[y+n].push_back(x);
  63. ve[z+n].push_back(x);
  64. }
  65. for(int i=;i<m;i++)
  66. {
  67. scanf("%d%d",&x,&y);
  68. ve[x].push_back(y+n);
  69. ve[y].push_back(x+n);
  70. }
  71. bool flag=;
  72. for(int i=;i<*n;i++)
  73. if(!dfn[i]) tarjin(i);
  74. for(int i=;i<n;i++)
  75. if(b[i]==b[i+n]) {flag=;break;}
  76. if(flag) puts("no");
  77. else puts("yes");
  78. }
  79. return ;
  80. }

hdu 1824的更多相关文章

  1. HDU 3062 && HDU 1824 && POJ 3678 && BZOJ 1997 2-SAT

    一条边<u,v>表示u选那么v一定被选. #include <iostream> #include <cstring> #include <cstdio> ...

  2. HDU 1824 Let's go home(2-SAT+Tarjan)

    Let's go home Time Limit: 10000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  3. HDU 1824 Let's go home

    2-SAT,根据题意建好图,求一下强联通分量,判断一下就可以了 #include<cstdio> #include<cstring> #include<cmath> ...

  4. 2-sat(tarjan算法)hdu(1824)

    hdu1824 Let's go home Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...

  5. hdu 1824 2-sat问题(判断)

    /* 题意:u,v,w队长,队员,队长留下两个队员可以回家,两个队员留下,队长回家 2-sat问题,把两个队员看成一个整体就变成一个简单2-sat问题了 */ #include<stdio.h& ...

  6. HDU 1824 Let&#39;s go home (2-SAT判定)

    Let's go home Time Limit: 10000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  7. 图论--2-SAT--HDOJ/HDU 1824 Let's go home

    Problem Description 小时候,乡愁是一枚小小的邮票,我在这头,母亲在那头.                         -- 余光中 集训是辛苦的,道路是坎坷的,休息还是必须的. ...

  8. 【图论】2-sat总结

    2-sat总结 2-sat问题,一般表现的形式为.每一个点有两种方式a,b,要么选a,要么选b.而且点点之间有一些约束关系.比如:u和v至少一个选a.那么这就是一个表达式.把a当成真,b当成假,那就是 ...

  9. hdu 3062+1824(2-sat入门)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3062 思路:根据矛盾关系连边(如果a与b矛盾,则连边a'->b,b'->a),然后强连通缩 ...

随机推荐

  1. xilinx仿真库的作用(原创)

    ① secureip库:硬核(HARD IP)仿真(功能仿真和时序仿真)模型(hard IP simulation model),比如PowerPC.PCIE.SRIO.DDR等.Simulation ...

  2. 腾讯海量数据处理平台TDW

    TDW是腾讯海量数据处理平台中最核心的模块,它有以下几个作用: 提供海量的离线计算和存储服务.TDW是腾讯内部规模最大的离线数据处理平台,公司内大多数业务的产品报表.运营分析.数据挖掘等的存储和计算都 ...

  3. DevExpres.XtraLayout控件运行时动态设置数据项

    问题分析: 通常.我们使用XtraLayout控件,是需要做以下的几个步骤来实现的: 1.  在窗体上拖拉一个 LayoutControl控件,设置它的填充属性: 2.  拖拉一些常规编辑控件到Lay ...

  4. Android XML解析

    解析XML有三种方式:Dom.SAX.Pull 其中pull解析器运行方式与SAX类似. 我们首先认识pull解析器:http://developer.android.com/intl/zh-cn/r ...

  5. sqlserver中的锁

    NOLOCK(不加锁) 此选项被选中时,SQL Server 在读取或修改数据时不加任何锁. 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll ...

  6. 免费vpn

    http://www.freevpnmac.com/macvpn/ 下边有个滑动解锁,拖动鼠标至右边解锁,点击Get vpn info,得到vpn地址ip和用户密码. 我用安卓手机测试了下完全可以,但 ...

  7. 自动生成get,set方法

    引发的问题: Action中有一个属性名字叫private boolean isHideNumber 用struts2的<s:if test ="isHideNumber"& ...

  8. oracle_11g 不同用户之间的数据迁移

    众所周知,IMP工具的FROMUSER和TOUSER参数可以实现将一个用户的的数据迁移到另外一个用户.同样的功能在IMPPDP工具中如何得以体现呢?答案就是:使用IMPPDP的REMAP_SCHEMA ...

  9. Objective-C 获取当前执行函数的名称

    当打印日志时为了方便跟踪,需要抛出当前执行函数的名称,一样可以使用c++的宏__FUNCTION__实现. @implementation CTPerson -(void)show { NSLog(@ ...

  10. UDP协议疑难杂症全景解析

    转载:http://blog.csdn.net/dog250/article/details/6896949 UDP协议疑难杂症全景解析 2011-10-22 19:26 2989人阅读 评论(4)  ...