题目


输入
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. 六度空间相关推荐

  1. 数据结构算法集---C++语言实现

    /// // // // 堆栈数据结构 stack.h // // // /// #include<iostream.h> template<class Type>class ...

  2. 横空出世,席卷Csdn [评微软等公司数据结构+算法面试100题]

    横空出世,席卷Csdn ---评微软数据结构+算法面试100题 作者:July 时间:2010年10月-11月.版权所有,侵权必究. --------------------------------- ...

  3. 微软等数据结构+算法面试100题全部答案集锦

    微软等数据结构+算法面试100题全部答案集锦 作者:July.阿财. 时间:二零一一年十月十三日. 引言 无私分享造就开源的辉煌. 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年.在一周年 ...

  4. 横空出世,席卷互联网--评微软等公司数据结构+算法面试100题

    横空出世,席卷互联网                                                                          ---评微软数据结构+算法面试1 ...

  5. [整理I]精选微软等公司数据结构+算法面试100题 [第1-40题]

    精选微软等公司,数据结构+算法,经典面试100题                                       --------之前40题 --------------- ------- ...

  6. Interview:算法岗位面试—10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法、回归算法、聚类算法等细节考察

    ML岗位面试:10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法.回归算法.聚类算法等细节考察 Interview:算法岗位 ...

  7. [最新答案V0.4版]微软等数据结构+算法面试100题[第41-60题答案]

    [最新答案V0.4版]微软等数据结构+算法面试100题[第41-60题答案] 作者 July.Csdn网友 二零一一年一月四日 ------------------------------------ ...

  8. 7.使用php描述冒泡排序,PHP 数据结构 算法描述 冒泡排序 bubble sort

    PHP 数据结构 算法描述 冒泡排序 bubble sort 复制代码 代码如下: /** * 冒泡排序 bubble sort * * 原理:多次循环进行比较,每次比较时将最大数移动到最上面.每次循 ...

  9. C和C++数据结构算法

    C和C++数据结构算法 算法概念 算法和数据结构区别 算法特性 算法效率的度量 事后统计法 大O表示法 常见时间复杂度 算法的空间复杂度 时间换空间 算法概念 算法是特定问题求解步骤的描述 在计算机中 ...

最新文章

  1. iptables配置管理
  2. 题目1465:最简真分数
  3. STM32开发 -- 数据搜索
  4. boost::range模块replaced相关的测试程序
  5. oracle json字符串转数组,json字符串转化成json对象(原生方法)
  6. mac 鼓捣php 多版本切换
  7. 解析IPostBackEventHandler和WebForm的事件机制
  8. php mysql_affected_rows获取sql执行影响的行数
  9. Object-c 协议@protocol(@required、@optional)
  10. Mysql数据库乱码
  11. douban_转自熊博网——牛逼顿
  12. LeetCode刷题-190709-扩展:阿拉伯数字和中文数字转换
  13. 重磅!图森王乃岩团队最新工作—TridentNet:处理目标检测中尺度变化新思路
  14. UEBA对抗威胁之“健康就是财富”!
  15. 用Xlsx xlsx-style 导出excel表格,附带合并单元格,文字居中,文字颜色字体大小等样式 (复制即可实现)
  16. Java的封装继承多态简介与实例
  17. imx8mq-evk快速启动-方案讨论,准备工作
  18. Windows 10 下安装pycrypto时出错的解决问题
  19. CCO2017 Vera and Trail Building 构造+图论
  20. OpenStack技术峰会前瞻,含全球前五用户带来的顶级实践分享

热门文章

  1. 用redis做游戏内的各种排行榜功能
  2. 什么是端口(port)?
  3. python汇率_用Python抓取汇率
  4. 32avalon - 指令ms-rules(自定义验证规则)
  5. 公文识别SDK开发包
  6. vue ie11打包后页面空白
  7. 计算机学习资源网站汇总(史上最全IT学习资源站点汇总,干货!!)
  8. WEBDisk网络硬盘
  9. 奇数阶魔方(1998)
  10. JS中时间戳(毫秒数)转换为标准时间日期