设为首页 加入收藏

TOP

Codeforces Round #254 (Div. 2) A,B(二)
2015-11-21 01:00:41 来源: 作者: 【 】 浏览:5
Tags:Codeforces Round #254 Div.
c,d; int find(int x) { int r=x; while(r!=a[r]) r=a[r]; return r; } void unio(int x,int y) { int fx,fy; fx=find(x); fy=find(y); if(fx!=fy) a[fx]=fy; } long long f(int x) { long long ans=1; for(int i=1;i<=n-x;i++) { ans*=2; } return ans; } int main() { while(~scanf("%d%d",&n,&m)) { for(int i=1;i<=n;i++) a[i]=i; while(m--) { scanf("%d%d",&c,&d); unio(c,d); } int ans=0; for(int i=1;i<=n;i++) { if(a[i]==i) ans++; } printf("%lld\n",f(ans)); } return 0; }

?

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇[数据结构]用C++实现双链表的各种.. 下一篇hdu 5254(暴力)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: