ccf-170904-通信网络
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-通信网络的更多相关文章
- 【CCF】通信网络 简单搜索
去重!不然有环就直接挂掉了...0分 #include<iostream> #include<cstdio> #include<string> #include&l ...
- (ccf)201709-4 通信网络
#include<iostream> #include<memory.h> #include<stack> #include<string> #incl ...
- CCF CSP 201709-4 通信网络
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-4 通信网络 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M ...
- ccf认证 201709-4 通信网络 java实现
试题编号: 201709-4 试题名称: 通信网络 时间限制: 1.0s 内 ...
- 通信网络 ccf
试题编号: 201709-4 试题名称: 通信网络 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只 ...
- CCF(通信网络):简单DFS+floyd算法
通信网络 201709-4 一看到题目分析了题意之后,我就想到用floyd算法来求解每一对顶点的最短路.如果一个点和任意一个点都有最短路(不为INF),那么这就是符合的一个答案.可是因为题目超时,只能 ...
- 小dai浅谈通信网络(一)——引子
说起通信网络,首先来看一个场景: 场景模式: 小明和小刚在闹市碰面. 小明对小刚大声喊道:"小刚,你好啊!" 小刚摇手答到:"你好,小明!" 就这么几句简单的话 ...
- 浅谈通信网络(三)——TCP/IP协议
简介 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议.In ...
- csp 通信网络
http://blog.csdn.net/zyy_1998/article/details/78334496 试题编号: 201709-4 试题名称: 通信网络 时间限制: 1.0s 内存限制: 25 ...
- 通信网络 2G 3G 4G 和路由器2.4G 5G的区分和关系
通信网络 2G 3G 4G 和路由器2.4G 5G的区分和关系 作者:魔仙圆缘链接:https://www.zhihu.com/question/34076333/answer/57850104来源: ...
随机推荐
- Java 正则校验整数,且小数点只能是2位
//金额验证 public static boolean isNumber(String str){ Pattern pattern=Pattern.compile("^(([1-9]{1} ...
- \x 和 0x 的区别
1.0x 表示整型数值 (十六进制) char c = 0x42; 表示的是一个数值(字母B对应的ASCII码—— 66),可以认为等价于: int c = 0x42; 2.\x42用于字符表达,或 ...
- VIM编辑配置文件基本操作
vim /etc/apt/sources.list 按insert键进入编辑状态 编辑完成以后按ESC退出编辑状态 输入 ":"进入命令状态,常用命令: 1.W:write ,写 ...
- shlve 模块
shlve 模块 也用于序列化 它与pickle 不同之处在于 不需要惯性文件模式什么的 直接把它当成一个字典来看待 它可以直接对数据进行修改 而不用覆盖原来的数据 而pickle 你想要修改只能 ...
- 获取音、视频时长(NAudio,Shell32,FFmpeg)
参考网址:https://blog.csdn.net/u013810234/article/details/57471780 以下为本次测试用到的音.视频格式: audio :”.wav;.mp3;. ...
- 读写锁 SRWLOCK
读写锁在对资源进行保护的同时,还能区分想要读取资源值的线程(读取者线程)和想要更新资源的线程(写入者线程). 对于读取者线程,读写锁会允许他们并发的执行.当有写入者线程在占有资源时,读写锁会让其它写入 ...
- WebView加载页面
//使用内置浏览器webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoa ...
- points from ZhiQIng Hu
1,The errors in vertical direction are about 3 times horizontal errors of GPS data. But the precisio ...
- mybatis 异常 There is no getter for property named 'bizId' in 'class java.lang.Long'
mybatis 异常 There is no getter for property named 'bizId' in 'class java.lang.Long' 当使用mybatis进行传参的时候 ...
- 20165214 实验一 Java开发环境的熟悉
20165214 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:朱文远 学号:20165214 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...