摧毁网络
来源:互联网 发布:ubuntu cp2102 编辑:程序博客网 时间:2024/05/17 09:26
摧毁网络
- 描述
告诉你一个惊天的秘密,其实吧,小蜗牛是一个高级特工。他拥有特工的应该有所有本领。现在他来到了一个小镇,他的任务就是要切断一个恐怖组织的整个通信网络。但是恐怖分子没有想象中的那么白痴,恐怖分子把自己的网络混杂在了民用的网络中,现在小蜗牛必须弄清楚到底有多少的网络,才可以采取必要的行动。从组织那他拿到了小镇的网络分布地图,每户居民都有固定的编号。
- 输入
- 输入有多组。
每组数据的第一行都给一个N(0<=N<=1000)表示有N户居民,给一个M代表有M条线路。接下来的M行每行都给两个数,代表线路连通的两户居民编号。可能一户居民跟多户居民都有连通的线路。 - 输出
- 对于每组样例,输出有小镇多少个网络。
- 样例输入
4 21 34 33 31 21 32 35 21 23 5
- 样例输出
21
3
代码实现:
#include<stdio.h>
#include<string.h>
int G[1001][1001],visit[1001];
int n;
void DFS(int x)
{
int i;
visit[x]=1;
for(i=1;i<=n;i++)
{
if(!visit[i]&&G[x][i]&&(i!=x))
{
DFS(i);
}
}
}
int main()
{
int m,i,count,a,b;
while(~scanf("%d%d",&n,&m))
{
memset(G,0,sizeof(G));
memset(visit,0,sizeof(visit));
for(i=0;i<m;i++)
{
scanf("%d%d",&a,&b);
G[a][b]=G[b][a]=1;
}
count=0;
for(i=1;i<=n;i++)
{
if(!visit[i])
{
DFS(i);
count++;
}
}
printf("%d\n",count);
}
return 0;
}
- 摧毁网络
- NYOJ 641 摧毁网络
- 美专家发明网络“数字大炮”可摧毁整个互联网
- 摧毁自己
- 摧毁图状树
- 摧毁数组
- 公安部摧毁4个特大网络贩婴团伙 解救382名婴儿
- 黑鹰被摧毁
- 怎样摧毁互联网?
- 怎样摧毁互联网?
- 如何摧毁程序员效率
- 如何摧毁程序员效率
- 如何摧毁整个互联网?
- 摧毁树状图
- 龙卷风摧毁停车场题解
- 什么时候任务管理器摧毁菜单,什么时候手动摧毁菜单
- 向往自摧毁邮件技术
- 六大致命伤摧毁微软帝国
- 关于C#WinForm开发的一些心得
- 推荐学习法——思维导图
- Android中的Handler的机制与用法详
- 统计文件所包含目录和文件的个数
- 你的名字
- 摧毁网络
- UVa 140 带宽 Bandwidth
- Java--for循环之双层循环嵌套 执行流程
- 汪国新湖北诗书画院荣膺“湖北省文化产业示范基地”
- 7/30
- PAT 乙级 1061.判断题(15)
- jquery.extend
- 全国政协委员、最高人民法院特约监督员汪国新参加北京知识产权法院院长开庭观摩暨代表委员座谈会
- Mybatis中#{}和${}的区别