博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 4460(STL+BFS)
阅读量:5313 次
发布时间:2019-06-14

本文共 1153 字,大约阅读时间需要 3 分钟。

Problem analysis:

For this problem,first give you some people's name and then give you the relations of them.

Now,you task is calculate the maximum steps between the every two guys.

To solve the problem,you just need to calculate all the steps between the every two guys.

And of course,the BFS is good to use.

Here is the detailed code:

#include
#include
#include
#include
#include
using namespace std;const int M=1020;const int INF=0x3f3f3f3f3f;int dis[M][M];//记录每两个人之间的距离int mark[M];int n,m;map
match;vector
vec[M];queue
q;void BFS(int x)//实现标号为x的人的朋友关系搜索{ memset(mark,0,sizeof(mark)); dis[x][x]=0; mark[x]=1; q.push(x); while(!q.empty()) { int t=q.front(); q.pop(); int y=vec[t].size();//统计标号为t的人的直接朋友人数 for(int j=0;j
>n) { if(n==0) break; int i,j; for(i=0;i
>name; match[name]=i; } for(i=0;i
>m; for(i=0;i
>name1>>name2; int t1=match[name1]; int t2=match[name2]; vec[t1].push_back(t2); vec[t2].push_back(t1); } for(i=0;i
ans) ans=dis[i][j]; } } if(ans==INF) ans=-1; cout<
<

  

  

 

 

 

 

转载于:https://www.cnblogs.com/heat-man/archive/2012/12/19/2825374.html

你可能感兴趣的文章
Thinkphp5 iis环境下安装报错400 500
查看>>
查看appPackage和appActivity的多种方法
查看>>
.net实现网易云音乐下载
查看>>
python之enumerate函数:获取列表中每个元素的索引和值
查看>>
SDWebImage的实现原理与底层结构拆解
查看>>
Think Python - Chapter 10 - Lists
查看>>
ubuntu 用管理员身份进入系统
查看>>
蓝牙通信第1篇:搜索蓝牙设备
查看>>
GNU Parallel指南
查看>>
字符串逆序输出,冒泡,二分查找
查看>>
(转)【Unity Shaders】Alpha Test和Alpha Blending
查看>>
Compass Card Sales(模拟)
查看>>
dt dl列表布局
查看>>
LeetCode 628. Maximum Product of Three Numbers (最大三数乘积)
查看>>
Sqlserver 数据交互(将数据库A表A中的数据插入到数据库B中的表B)
查看>>
LeetCode 40. Combination Sum II (组合的和之二)
查看>>
LeetCode 163. Missing Ranges (缺失的区间)$
查看>>
34.Linux-printk分析、使用__FILE__, __FUNCTION__, __LINE__ 调试
查看>>
明白了最基本的压缩原理
查看>>
UITableViewCell 多选和全选(checkBoxCell)
查看>>