#include <iostream>
#include <queue>
#include <vector>
#include <cstring>
#include <cstdio>
#include <map>
using namespace std;
#define MAX 9999999
int dis[+][+];
int vis[+];
string name[+];
int n;
map<string,int> mymap;
vector<int> vec[+];
void spfa(int i)
{
memset(vis,,sizeof(vis));
dis[i][i]=;
vis[i]=;
queue<int> q;
q.push(i);
while(!q.empty())
{
int temp=q.front();
q.pop();
for(int j=;j<vec[temp].size();j++)
{
int to=vec[temp][j];
if(vis[to])
continue;
dis[i][to]=dis[i][temp]+;
q.push(to);
vis[to]=;
}
}
}
int main()
{
int T;
while(cin>>n,n)
{
for(int i=;i<n;i++)
{
for(int j=i+;j<n;j++)
{
dis[i][j]=dis[j][i]=MAX;
}
}
for(int i=;i<n;i++)
vec[i].clear();
int cou=;
string str;
for(int i=;i<n;i++)
{
cin>>str;
mymap[str]=cou++;
}
int m;
cin>>m;
string str1,str2;
for(int i=;i<m;i++)
{
cin>>str1>>str2;
int t1=mymap[str1];
int t2=mymap[str2];
vec[t1].push_back(t2);
vec[t2].push_back(t1);
}
for(int i=;i<n;i++)
{
spfa(i);
}
int ans=;
for(int i=;i<n;i++)
{
for(int j=;j<n;j++)
{
ans=max(ans,dis[i][j]);
}
}
if(ans==MAX)
cout<<-<<endl;
else
cout<<ans<<endl;
}
return ; }

HDU4460的更多相关文章

  1. HDU-4460 Friend Chains(BFS&权为1所有最短路的最大值)

    题目: For a group of people, there is an idea that everyone is equals to or less than 6 steps away fro ...

  2. hdu4460 Friend Chains(记忆化广度优先搜索)

    题意: 任意两点间最短路中的最长距离. 思路: BFS遍历每个点能到达的最远距离. Tips: vector的clear要与resize联用. #include <bits/stdc++.h&g ...

随机推荐

  1. GDI+_从Bitmap里得到的Color数组值解决方案

    ' InkHin_ZhiZhuo ' Date :2019.2.18 ' E-mail lqx@tyningling.Top 'This function and Module is written ...

  2. springboot项目创建

    1.在eclipse中创建springboot项目,右键找到New,然后找到Spring Starter Project, 如果menu中找不到Spring Starter Project就选择oth ...

  3. Android:得到WebView当前页的html源码

    WebView没有提供直接的API,需要用JavaScript变通处理一下.本文试图总结一个最简单.优雅的代码. 有两步: 1.先创建一个JavaScript接口类: class MyJavaScri ...

  4. https://github.com/gaoyangxiaozhu/DockerVI

    [更新]分享一个开源项目DockerVI,一个基于NodeJS实现的Docker Swarm可视化解决方案

  5. 2018/12/22:centos中转换目录时/root的影响

    今天在将一个压缩包复制到/root下,并解压.从表面看我试在根目录下,但是就是不能进入生成的目录,提示no such file or diraction.最后我加上/root又好了,奇怪 编译环境:输 ...

  6. hadoop学习路线

    学习hadoop,首先我们要知道hadoop是什么? 说到底Hadoop只是一项分布式系统的工具,我们在学习的时候要理解分布式系统设计中的原则以及方法,只有这样才能以不变应万变.再一个就是一定要动手, ...

  7. Java框架spring Boot学习笔记(六):Spring Boot事务管理

    SpringBoot和Java框架spring 学习笔记(十九):事务管理(注解管理)所讲的类似,使用@Transactional注解便可以轻松实现事务管理.

  8. 【docker 入门 - 01】- Docker 在 Centos7 上安装与测试

    一.学习文档 官网网站: https://www.docker.com 中文网站:http://www.docker-cn.com 官方安装文档:https://docs.docker.com/ins ...

  9. concurrentHashMap求size

    在 JDK1.7 中,首先会使用不加锁的模式去尝试多次计算 ConcurrentHashMap 的 size,最多三次,比较前后计算的结果,结果一致就认为当前没有元素加入,计算的结果是准确的.如果不符 ...

  10. SQL0803问题 键值重复

    工作中遇到SQL0803问题  使用DB2AS400数据库 报数据库键值重复错误 经同事分析为索引的起始值与当前已有记录的最大索引值不匹配造成的,验证过程如下: 1.SELECT max(被索引字段) ...