人活着系列之开会

Time Limit: 1000MS Memory limit: 65536K

题目描写叙述

人活着假设是为了事业。从打工的到老板的,个个都在拼搏,奋斗了多年最终有了非凡成就。有了一笔丰富的钱財。反过来说。人若赚取了全世界又有什么益处呢?生不带来。死了你还能带去吗?金钱能买保险,但不能买生命,金钱能买药品,但不能买健康,人生在世,还是虚空呀!

在苍茫的大海上。有非常多的小岛。每一个人都在自己的小岛上。

又到了开会的时候了,鹏哥通过飞信告知了每一个人,然后大家就開始往鹏哥所在的主岛走,问谁先到达主岛。

有几点注意事项:

  1. 主岛一定除了鹏哥之外没有不论什么人。

  2. 并不是全部的小岛上都有人,有的小岛为空。

  3. 例子保证一定有人会先到达主岛。

  4. 小岛上最多仅仅有一个人。

  5. 每一个人往主岛走的速度同样

  6. 每一个小岛都有一条或多条路与别的小岛相连,可能和自己有一条路相连

  7. 至少有一个小岛和主岛相连。保证全部的人都能够到达主岛

  8. 为了节约时间,每一个人都走最短的路径

  9. 两个岛之间或许不仅仅有一条路相连。

  10. 每一个小岛都被标记为字母,大写字母代表这个小岛有人,小写字母代表这个小岛没有人。Z代表鹏哥所在主岛的位置

  11. A和a表示两个不同的牧场。A a 8代表的是A岛到a岛的距离是8 ,A岛上是有人的,a岛上是没有人的。

输入

第一行 :N ,代表着大海上一共同拥有N条连接小岛的路,(1<=
N<=10000)

接下来N行,每一行有两个字母和一个整数len,代表着两个岛的标记是否存在人。以及这两个岛之间的距离。(1<=len<=1000)

输出

最先到达主岛的那个人所在的岛的字母以及他走过的路径长度。

演示样例输入

6
A e 6
e Z 8
B c 3
c d 2
D A 12
d Z 3

演示样例输出

B 8 

题目不难,仅仅需将字母转化为矩阵的坐标。大写和小写字母一共52个,弗洛伊德肯定过
11条注意。非常重要

#include <iostream>
#include <cstdio>
#include <cstring>
#include <math.h>
#include <cstdlib>
#include <algorithm>
const int INF = 1e6;
using namespace std;
int dis[110][110],sum; void init()
{
for(int i = 1;i <= 52;i ++)
{
for(int j = 1;j <= 52;j++)
{
if(i==j) dis[i][j] = 0;
else
dis[i][j] = INF;
} }
}
int GET(char a)
{
if(a >= 'A'&&a <= 'Z')
return a-'A'+1;
else
return a-'a'+27;
}
void Flyed()
{
sum = INF;
for(int k = 1;k<53;k++)
{
for(int i = 1;i<53;i++)
{
for(int j = 1;j<53;j++)
{
if(dis[i][j] > dis[i][k]+dis[k][j])
dis[i][j] = dis[i][k]+dis[k][j];
}
}
}
}
int main()
{
int n,c;
char a[5],b[5];
scanf("%d",&n);
getchar();
init();
for(int i = 1;i <= n;i ++)
{
scanf("%s%s%d",a,b,&c); int x = GET(a[0]);
int y = GET(b[0]); if(dis[x][y] > c)
{
dis[x][y] = dis[y][x] = c;
}
}
Flyed(); int st;
for(int i = 1;i<26;i++)
{
if(sum > dis[i][26])
{
sum = dis[i][26];
st = i;
}
}
st--;
printf("%c %d\n",st+'A',sum);
return 0;
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

人们的Live Meeting系列 (floyd)的更多相关文章

  1. HDU-4511 小明系列故事——女友的考验 floyd变种-标号递增最短路

    题意:给定N个点,现在要求出从1号点到N号点的最短路.题目给的限制条件就是对于某条路径是不能够走的,但是可以选择某段路径走,另外就是所走的路径的标号必须是递增的. 分析:由于给定的是一些列的坐标点,这 ...

  2. 人活着系列之芳姐和芳姐的猪(Floyd)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2929 这个题一方面数据水,另一方面就是思维水, ...

  3. 人活着系列Tanya和蔡健雅猪 (floyd)

    人活着系列之芳姐和芳姐的猪 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 芳姐特别喜欢猪,所以,她特意养了m个猪圈,顺便在k条无向边,每条边有都有起点v ...

  4. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  5. Floyd算法(三)之 Java详解

    前面分别通过C和C++实现了弗洛伊德算法,本文介绍弗洛伊德算法的Java实现. 目录 1. 弗洛伊德算法介绍 2. 弗洛伊德算法图解 3. 弗洛伊德算法的代码说明 4. 弗洛伊德算法的源码 转载请注明 ...

  6. Floyd算法(二)之 C++详解

    本章是弗洛伊德算法的C++实现. 目录 1. 弗洛伊德算法介绍 2. 弗洛伊德算法图解 3. 弗洛伊德算法的代码说明 4. 弗洛伊德算法的源码 转载请注明出处:http://www.cnblogs.c ...

  7. Floyd算法(一)之 C语言详解

    本章介绍弗洛伊德算法.和以往一样,本文会先对弗洛伊德算法的理论论知识进行介绍,然后给出C语言的实现.后续再分别给出C++和Java版本的实现. 目录 1. 弗洛伊德算法介绍 2. 弗洛伊德算法图解 3 ...

  8. NOIP2012pj文化之旅[floyd]

    描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次,即如果他学习了某种文化,则他就不能到达其他有这种文化的国家.不同的国家可能有相同的文化.不同文化的国家 ...

  9. Walls(floyd POJ1161)

    Walls Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7677   Accepted: 3719 Description ...

随机推荐

  1. setjmp和longjmp函数使用详解

    源地址:http://blog.csdn.net/zhuanshenweiliu/article/details/41961975 非局部跳转语句---setjmp和longjmp函数.非局部指的是, ...

  2. 为VisualSVN Server增加在线修改用户密码的功能

    原文:为VisualSVN Server增加在线修改用户密码的功能 附件下载:点击下载 VisualSVN Server是一个非常不错的SVN Server程序,方便,直观,用户管理也异常方便. 不过 ...

  3. 14.4.3.3 Making the Buffer Pool Scan Resistant

    14.4.3.3 Making the Buffer Pool Scan Resistant 让Buffer Pool 扫描 相比使用一个严格的LRU算法, InnoDB 使用一个技术来最小化数据的总 ...

  4. UNIX下改动时间简单一例

    UNIX下改动时间简单一例 仅仅输入date就显示当前的工作站时间,假设有root超级用户权限,加上參数能够改动 工作站的时间. 格式:date mmddHHMM[cc]yy mm--月份,dd--日 ...

  5. openwrt 3g模块上网

    硬件环境:     开发板为RT5053F        3G模块为中兴 MC2176 电信版 以下是操作步骤 加入VID .PID VID . PID 的获取方法是 将设备插入电脑在linux下执行 ...

  6. 《转》VC++多线程编程

    原地址:http://www.cnblogs.com/wxfasdic/archive/2010/09/23/1833522.html 留个纪念,不错的总结.十个例子清晰列举啦多线程编程的奥妙.  V ...

  7. - Shell - sort处理大文件(页 1) - ChinaUnix.net

    - Shell - sort处理大文件(页 1) - ChinaUnix.net sort处理大文件

  8. 【智能家居篇】wifi网络接入原理(上)——扫描Scanning

    转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 对于低头党来说,在使用WIFI功能时,常常性的操作是打开手机上的WIFI设备,搜索到心目中的热点,输入passwor ...

  9. TextKit学习(四)通过boundingRectWithSize:options:attributes:context:计算文本尺寸

    之前用Text Kit写Reader的时候,在分页时要计算一段文本的尺寸大小,之前使用了NSString类的sizeWithFont:constrainedToSize:lineBreakMode:方 ...

  10. 为什么 string.find()返回值是-1

    之前好像在哪里见到过这个问题,时间有点久,想不起来了,今天写字符串又碰到这个问题,书上给出的定义是当string.find()没有找到时返回的是一个非常大的值,网上有人说是-1,两种说法都对,由于整数 ...