就是看无向图有几个连通块,答案就是2n-num

范围很小,就用矩阵来存图减少代码量。

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<stack>
#include<queue>
using namespace std;
#define INF 1000000000
#define eps 1e-8
#define pii pair<int,int>
#define LL long long int
int n,m,maps[][],a,b;
int mark[],num;
void dfs(int x)
{
mark[x]=;
for(int i=;i<=n;i++)
{
if(mark[i]==&&maps[x][i])
{
dfs(i);
}
}
}
int main()
{
//freopen("in1.txt","r",stdin);
//freopen("out.txt","w",stdout);
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
{
scanf("%d%d",&a,&b);
maps[a][b]=maps[b][a]=;
}
for(int i=;i<=n;i++)
{
if(!mark[i])
{
num++;
dfs(i);
}
}
printf("%I64d\n",(LL)<<(n-num));
//fclose(stdin);
//fclose(stdout);
return ;
}

最新文章

  1. C语言指针转换为intptr_t类型
  2. 怎么在excel中快速查找重复记录
  3. [转] SSH原理与运用(2):远程操作与端口转发
  4. form表单验证2
  5. linux内核启动流程[转]
  6. /proc/sys/net/ipv4/
  7. apache-activemq-5.14.0学习总结
  8. leetcode@ [126] Word Ladder II (BFS + 层次遍历 + DFS)
  9. linux shell获取时间
  10. java常识和好玩的注释
  11. Android(java)学习笔记251:ContentProvider使用之添加数据到联系人(掌握)
  12. Flex 日志管理
  13. PHP 6:PHP 基本数据类型
  14. Docker Centos7 下建立 Docker 桥接网络
  15. CentOS7下安装python-pip
  16. POJ-1700 Crossing River---过河问题(贪心)
  17. php文件包含漏洞(input与filter)
  18. Hacking HackDay: Albania
  19. Spring.Net 入门学习笔记-----one
  20. H5外包团队 H5开发微信APP的优势有哪些

热门文章

  1. 2.6 基于ARDUINO UNO+MC20的路径显示功能
  2. 剑指offer面试54题
  3. 字典,字符串,元组,字典,集合set,类的初步认识,深浅拷贝
  4. Windows读写文件的猫腻
  5. Dubbo框架入门介绍
  6. Java Collection API
  7. Jsp&amp;Servlet实现读取本地图片并展示
  8. 关于IIntelliJ IDEA(2017)安装和破解
  9. POI实现数据的导入
  10. iOS Font