hdu 1213 HOW MANY TABLES
来源:互联网 发布:地图软件怎么赚钱 编辑:程序博客网 时间:2024/06/10 02:06
题目链接:点击打开链接
并查集模板题。
FInd函数写递归路径压缩的竟然会爆栈。。只能写朴素的
查的时候每访问到一个元素x就把vis[x]变成1,这样最后查询的时候vis是1的就不用查了,查出来的结果vis如果是0 ,res就加1,再把它的vis变为1.
代码:
#include <iostream>#include <cstdio>using namespace std;int Fa[1010];int N,M;bool vis[1010];int Find(int n){ while(n!=Fa[n]){ vis[n]=1; n=Fa[n]; } return n;}void init(){ for(int i=1;i<=N;i++){ Fa[i]=i; vis[i]=0; }}int solve(){ for(int i=1;i<=N;i++) vis[i]=0; int res=0; for(int i=1;i<=N;i++){ if(vis[i]) continue; int t=Find(i); if(!vis[t]){ res++; vis[t]=1;} } return res;}int main(){ int T; cin>>T; while(T--){ cin>>N>>M; int x,y; init(); for(int i=1;i<=M;i++){ cin>>x>>y; int t1=Find(x); int t2=Find(y); Fa[t1]=t2; } cout<<solve()<<endl; } return 0;}
0 0
- hdu 1213 how many tables
- hdu 1213 How Many Tables
- hdu 1213 How Many Tables
- HDU 1213 How Many Tables
- hdu 1213 How Many Tables
- HDU 1213 How Many Tables
- hdu 1213 How Many Tables
- Hdu 1213 How Many Tables
- hdu 1213 How Many Tables
- hdu 1213 How Many Tables
- HDU 1213 how many tables
- hdu 1213 How Many Tables
- hdu 1213how many tables
- hdu 1213 How Many Tables
- Hdu 1213 - How Many Tables
- HDU 1213 How Many Tables
- HDU 1213 How Many Tables
- hdu 1213 How Many Tables
- QT编程学习及问题记录
- oracle 创建用户 并授予相应权限
- POJ 2418 Hardwood Species 【STL】
- c++的基本概念还是非常值得学习和使用的东西
- 作为技术总监对项目经理和项目组长管理以及对项目的控制(一)
- hdu 1213 HOW MANY TABLES
- 投融贷有奖征文活动
- does not contain handler parameter named 'method'问题解决
- CentOS普通用户添加sudo权限
- 图片合并 减少 http 请求
- eclise 部署web工程报 There are no resources that can be added or removed from the server.
- 编辑文章 - 博客频道 - CSDN.NET
- vmware 桌面虚拟化 horizon view 介绍
- 关于SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data错误的解决