成立时当且仅当每个联通块都有环存在。一个连通块若有m个点,则必有多于m条有向边,可用并查集来维护。

#include<cstdio>
#include<iostream>
#define R register int
#define pc(x) putchar(x)
const int N=;
using namespace std;
inline int g() {
R ret=,fix=; register char ch; while(!isdigit(ch=getchar())) fix=ch=='-'?-:fix;
do ret=ret*+(ch^); while(isdigit(ch=getchar())); return ret*fix;
}
int n,m;
int fa[N],r[N];
bool flg;
int getf(int x) {return x==fa[x]?x:fa[x]=getf(fa[x]);}
signed main() {
n=g(),m=g(); for(R i=;i<=n;++i) fa[i]=i;
for(R i=;i<=m;++i) {
R u=getf(g()),v=getf(g());
if(u==v) r[u]=;
else fa[u]=v,r[v]|=r[u];
} for(R i=;i<=n;++i) if(!r[getf(i)]) {flg=true; break;}
flg?(pc('N'),pc('I'),pc('E')):(pc('T'),pc('A'),pc('K')); pc('\n');
}

最新文章

  1. com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
  2. 使用Open xml 操作Excel系列之二--从data table导出数据到Excel
  3. 十款让 Web 前端开发人员更轻松的实用工具
  4. HIbernate的增删改
  5. Effective Java 45 Minimize the scope of local variables
  6. html的空格和换行显示【摘自网络】
  7. 一步一步学习C++
  8. JAVA并发,CyclicBarrier
  9. tomcat远程debug端口开启
  10. jQuery手写几个常见的滑动下拉菜单 分分秒秒学习JS
  11. java与JSTL库
  12. SAP FI配置步骤
  13. Confluence 6 安全相关问题提交链接
  14. UVa 11481 Arrange the Numbers (组合数学)
  15. python第十四课--排序及自定义函数之案例二:冒泡排序
  16. Android Spans介绍(转)
  17. Geek们为什么都用Linux?《完全使用Linux工作-王垠》读后记
  18. 【微信】QQ邮箱助手不提醒解决
  19. HBase在数据统计应用中的使用心得
  20. Java加载jar文件并调用jar文件当中有参数和返回值的方法

热门文章

  1. html5基本格式
  2. fiddler篡改请求数据
  3. 详解 pthread_detach()函数
  4. wingide 显示中文 及 配色方案
  5. 【Lintcode】137.Clone Graph
  6. Behave + Selenium(Python) 三
  7. WPF系列学习之三(路由事件)
  8. JMeter聚合报告(Aggregate Report)理解
  9. CF-845C
  10. 使用BIND安装智能DNS服务器(二)---配置rndc远程控制