BZOJ 1116: [POI2008]CLO 并查集
2024-08-31 04:40:18
成立时当且仅当每个联通块都有环存在。一个连通块若有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');
}
最新文章
- com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
- 使用Open xml 操作Excel系列之二--从data table导出数据到Excel
- 十款让 Web 前端开发人员更轻松的实用工具
- HIbernate的增删改
- Effective Java 45 Minimize the scope of local variables
- html的空格和换行显示【摘自网络】
- 一步一步学习C++
- JAVA并发,CyclicBarrier
- tomcat远程debug端口开启
- jQuery手写几个常见的滑动下拉菜单 分分秒秒学习JS
- java与JSTL库
- SAP FI配置步骤
- Confluence 6 安全相关问题提交链接
- UVa 11481 Arrange the Numbers (组合数学)
- python第十四课--排序及自定义函数之案例二:冒泡排序
- Android Spans介绍(转)
- Geek们为什么都用Linux?《完全使用Linux工作-王垠》读后记
- 【微信】QQ邮箱助手不提醒解决
- HBase在数据统计应用中的使用心得
- Java加载jar文件并调用jar文件当中有参数和返回值的方法