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的更多相关文章

  1. uva 1354 Mobile Computing ——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5

  2. UVA 10564 Paths through the Hourglass[DP 打印]

    UVA - 10564 Paths through the Hourglass 题意: 要求从第一层走到最下面一层,只能往左下或右下走 问有多少条路径之和刚好等于S? 如果有的话,输出字典序最小的路径 ...

  3. UVA 11404 Palindromic Subsequence[DP LCS 打印]

    UVA - 11404 Palindromic Subsequence 题意:一个字符串,删去0个或多个字符,输出字典序最小且最长的回文字符串 不要求路径区间DP都可以做 然而要字典序最小 倒过来求L ...

  4. UVA&&POJ离散概率与数学期望入门练习[4]

    POJ3869 Headshot 题意:给出左轮手枪的子弹序列,打了一枪没子弹,要使下一枪也没子弹概率最大应该rotate还是shoot 条件概率,|00|/(|00|+|01|)和|0|/n谁大的问 ...

  5. UVA计数方法练习[3]

    UVA - 11538 Chess Queen 题意:n*m放置两个互相攻击的后的方案数 分开讨论行 列 两条对角线 一个求和式 可以化简后计算 // // main.cpp // uva11538 ...

  6. 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 ...

  7. UVA - 1625 Color Length[序列DP 代价计算技巧]

    UVA - 1625 Color Length   白书 很明显f[i][j]表示第一个取到i第二个取到j的代价 问题在于代价的计算,并不知道每种颜色的开始和结束   和模拟赛那道环形DP很想,计算这 ...

  8. UVA - 10375 Choose and divide[唯一分解定理]

    UVA - 10375 Choose and divide Choose and divide Time Limit: 1000MS   Memory Limit: 65536K Total Subm ...

  9. 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 ...

随机推荐

  1. 20141030--SQL2008常用命令-1

    create database biao2--创建新的数据库 go use biao2 go create table shuiguo--创建表shuiguo ,create table创建表 ( 序 ...

  2. (转)互联网保险O2O平台微服务架构设计

        关于架构,笔者认为并不是越复杂越好,而是相反,简单就是硬道理也提现在这里.这也是微服务能够流行的原因,看看市场上曾经出现的服务架构:EJB.SCA.Dubbo等等,都比微服务先进,都比微服务功 ...

  3. c/c++面试总结(2)

    4.深拷贝和浅拷贝 (1)什么时候会用到拷贝函数 一个对象以值传递的方式传入函数(就是作为入参) 一个对象以值传递的方式从函数返回(就是作为返回值) 一个对象需要通过另外一个对象进行初始化 (2)是否 ...

  4. memcach 安装

    Windows7 x64在Wampserver上安装memcache 2012-07-13      0个评论       收藏    我要投稿 Windows7 x64在Wampserver上安装m ...

  5. GitHub for Windows离线安装的方法

    这几天一直在尝试安装GitHub for windows ,安装程序是从https://windows.github.com/ 下载到的OneClick 部署程序,版本号为2.11.0.5.可能是因为 ...

  6. php解析url的三种方法举例

    使用php解析url的三个示例. 方法一: $url="http://www.jbxue.com"; file_get_contents($url); 方法二: // CURL 方 ...

  7. C++ socket编程

    源代码项目下载:http://download.csdn.net/detail/mmyzlinyingjie/7049499 TCP类的: TcpServer.cpp //WSAStartup soc ...

  8. mysql中log

    mysql的主从模式配置 1.改主库配置文件:D:\Program Files\MySQL\MySQL Server 5.5(my.ini/my.cnf)在下面加入 [mysqld] log=c:/a ...

  9. 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 ...

  10. 【转载】Powershell连接世纪互联Office365

    $User = "admin@contoso.com" $PWord = ConvertTo-SecureString –String "password" – ...