uva 1056
floyd 算法 用了stl 的map 存名字的时候比较方便
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <map>
#include <string>
#include <cstring>
#include <algorithm>
#define maxn 100010
#define INF 0x7fffffff
#define inf 10000000
#define ull unsigned long long
#define ll long long
using namespace std; map<string, int> people;
int g[55][55], P, R; void init()
{
people.clear();
for(int i = 0; i < 55; ++ i)
for(int j = 0; j < 55; ++ j)
g[i][j] = inf;
} void read()
{
string name1, name2;
char n1[100], n2[100];
int id = 0;
for(int i = 0; i < R; ++i)
{
scanf("%s%s", n1, n2);
name1 = string(n1), name2 = string(n2);
if(people.count(name1) == 0) people[name1] = id++;
if(people.count(name2) == 0) people[name2] = id++;
g[people[name1]][people[name2]] = g[people[name2]][people[name1]] = 1;
}
} int solve()
{
int _min = 0;
for(int k = 0; k < P; ++ k)
for(int i = 0; i < P; ++ i)
for(int j = 0; j < P; ++ j)
g[i][j] = min(g[i][j], g[i][k]+g[k][j]);
for(int i = 0; i < P; ++ i)
for(int j = i+1; j < P; ++ j)
_min = max(_min, g[i][j]);
return _min;
} int main()
{
int ca = 1;
while(scanf("%d%d", &P, &R) == 2 && P+R)
{
init();
read();
int ans = solve();
printf("Network %d: ", ca++);
if(ans < inf)
printf("%d\n", ans);
else
puts("DISCONNECTED");
puts("");
}
return 0;
}
uva 1056的更多相关文章
- uva 1354 Mobile Computing ——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5
- UVA 10564 Paths through the Hourglass[DP 打印]
UVA - 10564 Paths through the Hourglass 题意: 要求从第一层走到最下面一层,只能往左下或右下走 问有多少条路径之和刚好等于S? 如果有的话,输出字典序最小的路径 ...
- UVA 11404 Palindromic Subsequence[DP LCS 打印]
UVA - 11404 Palindromic Subsequence 题意:一个字符串,删去0个或多个字符,输出字典序最小且最长的回文字符串 不要求路径区间DP都可以做 然而要字典序最小 倒过来求L ...
- UVA&&POJ离散概率与数学期望入门练习[4]
POJ3869 Headshot 题意:给出左轮手枪的子弹序列,打了一枪没子弹,要使下一枪也没子弹概率最大应该rotate还是shoot 条件概率,|00|/(|00|+|01|)和|0|/n谁大的问 ...
- UVA计数方法练习[3]
UVA - 11538 Chess Queen 题意:n*m放置两个互相攻击的后的方案数 分开讨论行 列 两条对角线 一个求和式 可以化简后计算 // // main.cpp // uva11538 ...
- UVA数学入门训练Round1[6]
UVA - 11388 GCD LCM 题意:输入g和l,找到a和b,gcd(a,b)=g,lacm(a,b)=l,a<b且a最小 g不能整除l时无解,否则一定g,l最小 #include &l ...
- UVA - 1625 Color Length[序列DP 代价计算技巧]
UVA - 1625 Color Length 白书 很明显f[i][j]表示第一个取到i第二个取到j的代价 问题在于代价的计算,并不知道每种颜色的开始和结束 和模拟赛那道环形DP很想,计算这 ...
- UVA - 10375 Choose and divide[唯一分解定理]
UVA - 10375 Choose and divide Choose and divide Time Limit: 1000MS Memory Limit: 65536K Total Subm ...
- UVA - 11584 Partitioning by Palindromes[序列DP]
UVA - 11584 Partitioning by Palindromes We say a sequence of char- acters is a palindrome if it is t ...
随机推荐
- 20141030--SQL2008常用命令-1
create database biao2--创建新的数据库 go use biao2 go create table shuiguo--创建表shuiguo ,create table创建表 ( 序 ...
- (转)互联网保险O2O平台微服务架构设计
关于架构,笔者认为并不是越复杂越好,而是相反,简单就是硬道理也提现在这里.这也是微服务能够流行的原因,看看市场上曾经出现的服务架构:EJB.SCA.Dubbo等等,都比微服务先进,都比微服务功 ...
- c/c++面试总结(2)
4.深拷贝和浅拷贝 (1)什么时候会用到拷贝函数 一个对象以值传递的方式传入函数(就是作为入参) 一个对象以值传递的方式从函数返回(就是作为返回值) 一个对象需要通过另外一个对象进行初始化 (2)是否 ...
- memcach 安装
Windows7 x64在Wampserver上安装memcache 2012-07-13 0个评论 收藏 我要投稿 Windows7 x64在Wampserver上安装m ...
- GitHub for Windows离线安装的方法
这几天一直在尝试安装GitHub for windows ,安装程序是从https://windows.github.com/ 下载到的OneClick 部署程序,版本号为2.11.0.5.可能是因为 ...
- php解析url的三种方法举例
使用php解析url的三个示例. 方法一: $url="http://www.jbxue.com"; file_get_contents($url); 方法二: // CURL 方 ...
- C++ socket编程
源代码项目下载:http://download.csdn.net/detail/mmyzlinyingjie/7049499 TCP类的: TcpServer.cpp //WSAStartup soc ...
- mysql中log
mysql的主从模式配置 1.改主库配置文件:D:\Program Files\MySQL\MySQL Server 5.5(my.ini/my.cnf)在下面加入 [mysqld] log=c:/a ...
- Noppoo choc mini 84 @XUbuntu13.10 compatibility setting
Months ago, I bought the keyboard Noppoo Choc Mini 84keys for using under XUbuntu12.10, and I have f ...
- 【转载】Powershell连接世纪互联Office365
$User = "admin@contoso.com" $PWord = ConvertTo-SecureString –String "password" – ...