传送门

最少好要修多少条路太能使全部城镇连通。只要用并查集算可以连通的城市的组数,修的路就是组数减1

 #include<bits/stdc++.h>
using namespace std;
#define C getchar()
template <typename T>
inline void read(T &s){
T t=; char k=C; s=;
for (;k<''||k>'';k=C) if (k=='-') t=-;//判断该数正负
for (;k>=''&&k<='';k=C) s=(s<<)+(s<<)+(k^);//<<1加上<<3就相当于*10,但是位运算的速度较快,^48也相当于-‘0’,同理,较快。
s*=t;
}
int f[]={},n,m;
void init()
{
for(int i=;i<=n;i++)
{
f[i]=i;
}
}
int getf(int v)
{
if(f[v]==v)return v;
else
{
f[v]=getf(f[v]);
return f[v];
}
}
void merge(int v,int u)
{
int t1,t2;
t1=getf(v);
t2=getf(u);
if(t1!=t2)
{
f[t2]=t1; }
return;
}
int main()
{
while(~scanf("%d",&n),n)
{
init();
scanf("%d",&m);
for(int i=;i<m;i++)
{
int x,y;
scanf("%d %d",&x,&y);
merge(x,y);
}
int ans=;
for(int i=;i<=n;i++)
{
if(getf(i)==i)ans++;
}
printf("%d\n",ans-);
}
return ;
}

最新文章

  1. nginx笔记资料
  2. C语言 03 项目团队文件合并
  3. python学习-day12:列表、元祖、字典介绍和内置
  4. VC++制作DLL详解
  5. 二维线段树 HDU 1823最简单的入门题
  6. ORACLE 更新关联多张表
  7. 如何在windows server 2012 R2 部署WEB项目
  8. 更新sdk
  9. 直接粘贴代码到网络上:command-line pastebins
  10. 扩展方法where方法查询不到数据,不会抛异常,也不是返回的null
  11. 解决 winform打开网页 和WebBrowser打开链接360误报拦截的问题
  12. cshtml razor
  13. 百度地图和高德地图结合在web中的使用(二)
  14. 快速开发android,离不开这10个优秀的开源项目
  15. Asp.Net MVC三层架构之autofac使用教程
  16. Spark Streaming性能调优详解
  17. [leet code 198]House Robber
  18. PHP判断ajax请求:HTTP_X_REQUESTED_WITH
  19. 2018.09.23 孙悟空大战鲤鱼精(单调队列优化dp)
  20. [好文翻译]WEB前端性能优化的14条规则

热门文章

  1. python3: 字符串和文本(3)
  2. ES(ElasticSearch)学习总结
  3. iptables.md
  4. python第十八课——常用内置函数
  5. hdu 4803 Poor Warehouse Keeper(贪心+数学)
  6. mycat结合双主复制实现读写分离模式
  7. Python+django+uWSGI+Nginx
  8. java.sql.SQLException: Incorrect string value: &#39;\xF0\x9F\x98\x8E&#39; for column &#39;nick&#39; at row 1
  9. 关于ESP8266EX的一些资料
  10. 最近邻规则分类(k-Nearest Neighbor )机器学习算法python实现