UVa 459 - Graph Connectivity
来源:互联网 发布:用友软件好学吗 编辑:程序博客网 时间:2024/04/27 02:39
题目:求分图个数。
分析:简单题、并查集。
注意:数据读入方式出错会出现RE或TLE。
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <cstring>#include <stack> using namespace std;char M[ 2 ],E[ 3 ];class union_set{private:int sets[ 26 ];int rank[ 26 ];public:union_set( int n ) {for ( int i = 0 ; i <= n ; ++ i ) {sets[i] = i;rank[i] = 0;}}void Union( int a, int b ) {if ( rank[a] > rank[b] )sets[b] = a;else {sets[a] = b;if ( rank[a] == rank[b] )rank[b] ++;}}int Find( int a ) {if ( a != sets[a] )sets[a] = Find( sets[a] );return sets[a];}int Count( int n ) {int count = 0;for ( int i = 0 ; i <= n ; ++ i ) if ( sets[i] == i )++ count;return count;}};int main(){int n,a,b;while ( cin >> n ) {getchar();getchar();while ( n -- ) {gets(M);union_set US(M[0]-'A');while ( gets(E) ) {if ( !E[0] ) break;a = US.Find(E[0]-'A');b = US.Find(E[1]-'A');if ( a != b )US.Union( a, b );}printf("%d\n",US.Count(M[0]-'A'));if ( n ) printf("\n");}}return 0;}
- UVa 459 - Graph Connectivity
- Uva 459 Graph Connectivity
- Graph Connectivity UVA, 459(并查集)
- 459 - Graph Connectivity
- pku 2838 Graph Connectivity
- POJ-2838-Graph Connectivity
- Connectivity in a directed graph
- poj2838 Graph Connectivity 邻接表加上并查集
- uva 193 - Graph Coloring
- UVa 193 - Graph Coloring
- uva 193 - Graph Coloring
- UVa 10720 - Graph Construction
- UVa 10720 - Graph Construction
- uva 10720 - Graph Construction
- uva 10720 - Graph Construction
- UVa 193 - Graph Coloring
- UVA 10720 - Graph Construction
- uva 193 - Graph Coloring
- php出现Cannot modify header information问题的解决方法大全
- Tomcat4 单实例的Bug
- android的图片加载几种方法
- 数据库入门
- python: 常用的一些函数——sys、os等
- UVa 459 - Graph Connectivity
- android属性系统
- Oracle Database 实例关闭和启动 浅谈
- 问答——为什么就算配置很高的 Android 手机玩游戏感觉画面也没有 iPhone 流畅,而且触屏感觉比较迟钝?
- onvif规范的实现:server端Discovery实现,通过OnvifTestTool12.06测试
- win7系统下vs2005无法调试web项目
- linux下安装mysql
- 毕业后就是程序员——我的阿里、金山、中华、腾讯、360、网易面试总结
- 为什么异或运算可以实现两个整数的交换,而无需借助第3个临时变量