ccf-170904-通信网络

题目分析:

有向图 如果a可以直接或者间接连接b则a与b相互知晓 一共有多少个点知道n个点

刚开始算错复杂度,优化后反而超时 。。。事实无脑爆搜这道题也是可取的因为只有1000个点

每次选定一个点start开始dfs,吧start所能到达的点全部找出来,记录在mp数组内,所连接点的个数记录在num[]数组中

一个小优化 。事实不优化也能过。当dfs过程中 发现start点到达的点为n时就结束 没必要继续dfs了

 #include <iostream>
#include <algorithm>
#include <vector>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=1e3+;
vector < vector <int> > g(N);
bool mp[N][N];
bool visit[N];
int num[N];
int start;
int n,m;
void dfs (int root) {
visit[root]=;
for (int i=;i<g[root].size();i++) {
int next=g[root][i];
if (!visit[next]) {
if (!mp[start][next]) {
mp[start][next]=mp[next][start]=;
num[next]++; num[start]++;
if (num[start]>=n) break;
}
dfs (next);
if (num[start]>=n) break;
}
}
return ;
}
int main ()
{
scanf ("%d %d",&n,&m);
for (int i=;i<=n;i++) {
mp[i][i]=; num[i]++;
}
for (int i=;i<=m;i++) {
int x,y; scanf ("%d %d",&x,&y);
g[x].push_back(y);
if (!mp[x][y]) {
mp[x][y]=mp[y][x]=;
num[x]++; num[y]++;
}
}
for (int i=;i<=n;i++) {
memset (visit,,sizeof(visit));
if (num[i]<n) {
start=i;
dfs (i);
}
}
int sum=;
for (int i=;i<=n;i++)
if (num[i]>=n)
sum++;
printf ("%d\n",sum);
return ;
}

ccf-170904-通信网络的更多相关文章

  1. 【CCF】通信网络 简单搜索

    去重!不然有环就直接挂掉了...0分 #include<iostream> #include<cstdio> #include<string> #include&l ...

  2. (ccf)201709-4 通信网络

    #include<iostream> #include<memory.h> #include<stack> #include<string> #incl ...

  3. CCF CSP 201709-4 通信网络

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-4 通信网络 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M ...

  4. ccf认证 201709-4 通信网络 java实现

    试题编号:                                                               201709-4 试题名称: 通信网络 时间限制: 1.0s 内 ...

  5. 通信网络 ccf

    试题编号: 201709-4 试题名称: 通信网络 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只 ...

  6. CCF(通信网络):简单DFS+floyd算法

    通信网络 201709-4 一看到题目分析了题意之后,我就想到用floyd算法来求解每一对顶点的最短路.如果一个点和任意一个点都有最短路(不为INF),那么这就是符合的一个答案.可是因为题目超时,只能 ...

  7. 小dai浅谈通信网络(一)——引子

    说起通信网络,首先来看一个场景: 场景模式: 小明和小刚在闹市碰面. 小明对小刚大声喊道:"小刚,你好啊!" 小刚摇手答到:"你好,小明!" 就这么几句简单的话 ...

  8. 浅谈通信网络(三)——TCP/IP协议

    简介 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议.In ...

  9. csp 通信网络

    http://blog.csdn.net/zyy_1998/article/details/78334496 试题编号: 201709-4 试题名称: 通信网络 时间限制: 1.0s 内存限制: 25 ...

  10. 通信网络 2G 3G 4G 和路由器2.4G 5G的区分和关系

    通信网络 2G 3G 4G 和路由器2.4G 5G的区分和关系 作者:魔仙圆缘链接:https://www.zhihu.com/question/34076333/answer/57850104来源: ...

随机推荐

  1. Eclipse导出WAR包

    参考: https://jingyan.baidu.com/article/ab0b56309110b4c15afa7de2.html

  2. MVC的前端和后端的Model Binding

    1.前端提交JSON 字符串 {"id":13,"title":"这里是标题33","day":"2018-8 ...

  3. js之添加浏览器历史记录

    如何生成一条历史记录 简单粗暴的方法,直接在当前页面的地址栏中输入地址 点击页面中有a标签的href 执行location.href = ‘xxx’(location.replace(‘xxx’)生成 ...

  4. python 列表切片

    列表切片是python语言独有的特征,大大方便了我们的编码. 首先,在介绍切片之前,必须要知道一个知识,就是python列表的读写,下标可以使用负数. insert,get,set 操作均可传入负数下 ...

  5. 8188EU 在AM335X MC183上以AP+STA工作

    [目的] 8188EU 在AM335X MC183上以AP+STA工作. [环境] 1.  Ubuntu 16.04发行版 2.  linux-3.2.0-psp04.06.00.11 3.  MC1 ...

  6. 通过滑动条控制Cube旋转

    private float speed = 10; private float speedValue; private GameObject slider; private GameObject cu ...

  7. python学习 面向对象高级编程

    ---恢复内容开始--- 面向对象编程---oop,是一种编程思想,oop把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数 ...

  8. PC/FORTH 循环

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  9. mysql数据库存储引擎及区别

    MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB).EXAMPLE.FEDERAT ...

  10. [Linux]Linux下rsync服务器和客户端配置

    一.rsync简介 Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异( ...