Codeforces Round #254 (Div. 2) B (445B)DZY Loves Chemistry
来源:互联网 发布:高中历史辅助教材淘宝 编辑:程序博客网 时间:2024/06/08 09:20
推理可得最终结果为2的(n-可分组合数)次方。
问题是怎么求出可分组合数,深搜即可,当然并查集也可以。
AC代码如下:
深搜代码!!!
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define M 100005#define ll long longusing namespace std;int a,b,c[205][205],vis[205];int n,m;void dfs(int x){ int i; vis[x]=1; for(i=1;i<=n;i++) { if(!vis[i]&&c[x][i]) dfs(i); }}int main(){ int i,j; int sum,ans=0; cin>>n>>m; memset(c,0,sizeof c); memset(vis,0,sizeof vis); for(i=0;i<m;i++) { cin>>a>>b; c[a][b]=1; c[b][a]=1;//将a,b关联,可以用容器,但我觉得没必要 } if(m==0) cout<<"1"<<endl; else{ for(j=1;j<=n;j++) { if(!vis[j]) {dfs(j);ans++;}//从一点搜起,记录组合数 } cout<<(1LL<<(n-ans))<<endl; } return 0;}
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;int f[50005],vis[50005];int find (int x){ if(f[x]==x) return f[x]; else return find(f[x]);}int main(){ int n,m; int i,j; int a,b,c; long long ans; cin>>n>>m; memset(vis,0,sizeof vis); ans=0; for(i=1;i<=n;i++) f[i]=i; for(i=1;i<=m;i++) { cin>>a>>b; a=find (a); b=find (b); f[a]=b; } for(i=1;i<=n;i++) { c=find(i); if(!vis[c]) {ans++;vis[c]=1;} } cout<<(1LL<<(n-ans))<<endl; return 0;}
1 0
- Codeforces Round #254 (Div. 2) B (445B)DZY Loves Chemistry
- [Codeforces] Round #254 (Div. 2) B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2)B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2):B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2)B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2) B DZY Loves Chemistry
- Codeforces Round #254 (Div. 2)B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2) 445B - DZY Loves Chemistry (并查集)
- Codeforces 445B. DZY Loves Chemistry
- Codeforces 445B DZY Loves Chemistry
- CODEFORCES 445B DZY Loves Chemistry
- Codeforces 445B DZY Loves Chemistry
- CodeForces 445B DZY Loves Chemistry
- codeforces-B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2) __B. DZY Loves Chemistry
- CodeForces 445B. DZY Loves Chemistry(并查集)
- CodeForces 445B DZY Loves Chemistry(并查集)
- CodeForces 445B DZY Loves Chemistry (并查集)
- 队花的烦恼一
- windows server 2012安装IIS8并支持asp
- Java多线程总结之线程安全队列Queue
- Android——padding/margin详解(转载)
- Android开发之旅:书籍、教程、工具和各种干货!
- Codeforces Round #254 (Div. 2) B (445B)DZY Loves Chemistry
- 10个实用Eclipse调试技巧
- CSS优化代码
- Codeforces Round #254 (Div. 2)B. DZY Loves Chemistry
- linux学习 查询linux系统信息
- AE二次开发 COM 组件的调用返回了错误 HRESULT E_FAIL
- 链表的循环带删除操作
- 组合模式
- 实训 mysql ssh