HDU 1213
来源:互联网 发布:sql绝对值函数 编辑:程序博客网 时间:2024/05/18 00:10
这是一道并查集问题,把所有认识的人合并到一组,最后检查根节点个数,即是需要的桌子数。由于本人的粗心,导致WA一次,在遍历根节点个数时,我错误的选择了范围,实在不应该犯这种低级错误。代码如下:
#include <iostream>#include <cstdio>using namespace std;int par[1100];int find1(int x){ int r = x; while(par[r] != r) r = par[r]; int i = x, j; while(i != r) j = par[i], par[i] = r, i = j; return r;}void unite(int x, int y){ x = find1(x); y = find1(y); par[x] = y;}bool same(int x, int y){ return find1(x) == find1(y);}int main(){ int t, n, m, a, b; scanf("%d", &t); while(t--) { int sum = 0; for(int i = 1; i < 1100; i++) par[i] = i; scanf("%d%d", &n, &m); for(int i = 0; i < m; i++) { scanf("%d%d", &a, &b); if(! same(a, b)) unite(a, b); } for(int i = 1; i <= n; i++) if(par[i] == i) sum++; printf("%d\n", sum); } return 0;}
0 0
- HDU 1213
- HDU 1213
- HDU 1213
- HDU 1213
- HDU 1213
- hdu 1213
- hdu 1213
- HDU 1213
- HDU 1213
- hdu 1213
- hdu 1213
- hdu 1213
- hdu 1213
- hdu 1213
- hdu(1213)
- HDU 1213
- hdu 1213
- HDU 1213
- sgu 210
- a的n次方的高效算法
- 互联网的小窝,一切开始的足迹
- js常用继承方法
- Pow(x, n)
- HDU 1213
- 《管理概论》第三周 课堂笔记与学习心得
- miniSTM32开发板的一键下载电路
- C++ explicit<转>
- log4j xml配置详解
- cocos2dx3.0rc导出自定义类到lua的方法详细步骤
- ssh免密码登录
- 室内装璜设计尺寸
- 2015061804 - 10年程序开发经验总结(1)