数据结构算法——1091. 六度空间
题目
输入
10 9
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
输出
1: 70.00%
2: 80.00%
3: 90.00%
4: 100.00%
5: 100.00%
6: 100.00%
7: 100.00%
8: 90.00%
9: 80.00%
10: 70.00%
思路
BFS应该没啥大问题,利用queue存放pair<int,int>就可以
注意使用BFS时候的mark数组记录是否便利某一个点的问题
代码
#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
using namespace std;int main()
{int N, M;cin >> N >> M;vector<int>* pv = new vector<int>[N + 2];for(int i = 0; i < M; i++){int start, end;cin >> start >> end;pv[start].push_back(end);pv[end].push_back(start);}for(int i = 1; i <= N; i++){int mark[N + 2];memset(mark, 0 , sizeof(mark));queue<pair<int,int>> q;//first->end second-> 距离int sum = 1;//特别注意,自己也算//如果设置sum为0可能会导致平凡点记为0的情况,但是自己对于自己是可达的q.push({i,0});mark[i] = 1;//对应sumwhile(!q.empty()){int mid = q.front().first;int dis = q.front().second;q.pop();if(dis >= 6)break;for(auto end : pv[mid]){//BFS在塞入的时候就顺便进行计数//如果mark为就++,为1不管,因为已经遍历过了if(!mark[end]){q.push({end, dis + 1});sum++;mark[end] = 1;}}}printf("%d: %.2f%\n", i, double(sum)/N * 100);}return 0;
}
数据结构算法——1091. 六度空间相关推荐
- 数据结构算法集---C++语言实现
/// // // // 堆栈数据结构 stack.h // // // /// #include<iostream.h> template<class Type>class ...
- 横空出世,席卷Csdn [评微软等公司数据结构+算法面试100题]
横空出世,席卷Csdn ---评微软数据结构+算法面试100题 作者:July 时间:2010年10月-11月.版权所有,侵权必究. --------------------------------- ...
- 微软等数据结构+算法面试100题全部答案集锦
微软等数据结构+算法面试100题全部答案集锦 作者:July.阿财. 时间:二零一一年十月十三日. 引言 无私分享造就开源的辉煌. 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年.在一周年 ...
- 横空出世,席卷互联网--评微软等公司数据结构+算法面试100题
横空出世,席卷互联网 ---评微软数据结构+算法面试1 ...
- [整理I]精选微软等公司数据结构+算法面试100题 [第1-40题]
精选微软等公司,数据结构+算法,经典面试100题 --------之前40题 --------------- ------- ...
- Interview:算法岗位面试—10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法、回归算法、聚类算法等细节考察
ML岗位面试:10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法.回归算法.聚类算法等细节考察 Interview:算法岗位 ...
- [最新答案V0.4版]微软等数据结构+算法面试100题[第41-60题答案]
[最新答案V0.4版]微软等数据结构+算法面试100题[第41-60题答案] 作者 July.Csdn网友 二零一一年一月四日 ------------------------------------ ...
- 7.使用php描述冒泡排序,PHP 数据结构 算法描述 冒泡排序 bubble sort
PHP 数据结构 算法描述 冒泡排序 bubble sort 复制代码 代码如下: /** * 冒泡排序 bubble sort * * 原理:多次循环进行比较,每次比较时将最大数移动到最上面.每次循 ...
- C和C++数据结构算法
C和C++数据结构算法 算法概念 算法和数据结构区别 算法特性 算法效率的度量 事后统计法 大O表示法 常见时间复杂度 算法的空间复杂度 时间换空间 算法概念 算法是特定问题求解步骤的描述 在计算机中 ...
最新文章
- iptables配置管理
- 题目1465:最简真分数
- STM32开发 -- 数据搜索
- boost::range模块replaced相关的测试程序
- oracle json字符串转数组,json字符串转化成json对象(原生方法)
- mac 鼓捣php 多版本切换
- 解析IPostBackEventHandler和WebForm的事件机制
- php mysql_affected_rows获取sql执行影响的行数
- Object-c 协议@protocol(@required、@optional)
- Mysql数据库乱码
- douban_转自熊博网——牛逼顿
- LeetCode刷题-190709-扩展:阿拉伯数字和中文数字转换
- 重磅!图森王乃岩团队最新工作—TridentNet:处理目标检测中尺度变化新思路
- UEBA对抗威胁之“健康就是财富”!
- 用Xlsx xlsx-style 导出excel表格,附带合并单元格,文字居中,文字颜色字体大小等样式 (复制即可实现)
- Java的封装继承多态简介与实例
- imx8mq-evk快速启动-方案讨论,准备工作
- Windows 10 下安装pycrypto时出错的解决问题
- CCO2017 Vera and Trail Building 构造+图论
- OpenStack技术峰会前瞻,含全球前五用户带来的顶级实践分享