题解:

2-sat

nm暴力

虽然似乎复杂度最低

代码:

#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=;
int num,ne[N],fi[N],n,m,x,y,f[N],zz[N],vis[N],S[N],top;
void jb(int x,int y)
{
ne[++num]=fi[x];
fi[x]=num;
zz[num]=y;
}
int dfs(int x)
{
if (vis[x^])return ;
if (vis[x])return ;
vis[x]=;
S[top++]=x;
for (int i=fi[x];i;i=ne[i])
if (!dfs(zz[i]))return ;
return ;
}
int slove()
{
memset(vis,,sizeof vis);
for (int i=;i<*n;i+=)
{
if (vis[i]||vis[i^])continue;
top=;
if (!dfs(i))
{
while (top)vis[S[--top]]=;
if (!dfs(i^))return ;
}
}
return ;
}
int main()
{
while (~scanf("%d%d",&n,&m))
{
memset(fi,,sizeof fi);
num=;
while (m--)
{
scanf("%d%d",&x,&y);
x--;y--;
jb(x,y^);jb(y,x^);
}
if (slove())
{
for (int i=;i<*n;i++)
if (vis[i])printf("%d\n",i+);
}
else puts("NIE");
}
return ;
}

最新文章

  1. &lt;2048&gt;游戏问卷调查心得与体会
  2. Codeforces Round #270 1002
  3. isNaN() 确认是否是数字
  4. Java MVC Controller 中通过不同方式获取 @PathVariable 参数值
  5. 重构第11天 使用策略代替Switch(Switch to Strategy)
  6. openssl知识点总结
  7. 怎么实现form表单提交后不重新刷新当前页面
  8. [C++]VS2010功能设置
  9. C# 判断系统空闲(键盘、鼠标不操作一段时间)
  10. hibernate - Transaction not successfully started
  11. 图片跟着鼠标动js
  12. HDU 1084 - ACM
  13. linux服务器解压缩文件的命令
  14. java Properties类使用基础
  15. Hibernate学习笔记四 查询
  16. [Swift]LeetCode526. 优美的排列 | Beautiful Arrangement
  17. CF999E Reachability from the Capital来自首都的可达性
  18. day6需要记忆(元组字典集合)
  19. JAVA—集合框架
  20. MySQL binlog group commit--commit stage

热门文章

  1. 论文笔记:蒸馏网络(Distilling the Knowledge in Neural Network)
  2. webmagic的设计机制及原理-如何开发一个Java爬虫 转
  3. centos6.9 升级glibc(升级到 2.17版)
  4. Django学习笔记之django-debug-toolbar使用指南
  5. Python3.x:代理ip刷评分
  6. 20145329 《JAVA程序设计》课后习题代码编写总结
  7. 【读书笔记】《深入浅出nodejs》第一章 Node简介
  8. mac下ssh到远程服务器时中文乱码
  9. SpringMvc 笔记
  10. 04_Storm编程上手_WordCount集群模式运行