时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 白银 Silver~死坑
题目描述 Description

现在是晚餐时间,而母牛们在外面分散的牧场中。 农民约翰按响了电铃,所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一只最快的母牛)。 在挤奶的时候(晚餐前),每只母牛都在她自己的牧场上,一些牧场上可能没有母牛。 每个牧场由一条条道路和一个或多个牧场连接(可能包括自己)。 有时,两个牧场(可能是字母相同的)之间会有超过一条道路相连。 至少有一个牧场和谷仓之间有道路连接。 因此,所有的母牛最后都能到达谷仓,并且母牛总是走最短的路径。 当然,母牛能向着任意一方向前进,并且她们以相同的速度前进。 牧场被标记为'a'..'z'和'A'..'Y',在用大写字母表示的牧场中有一只母牛,小写字母中则没有。 谷仓的标记是'Z',注意没有母牛在谷仓中。

注意'm'和'M'不是同一个牧场否则错误上面的意思是说:输入数据中可能会同时存在M,m(郁闷ing),比如

M a a m m z

输入描述 Input Description

第 1 行: 整数 P(1<= P<=10000),表示连接牧场(谷仓)的道路的数目。

第 2 ..P+1行:  用空格分开的两个字母和一个整数:

被道路连接牧场的标记和道路的长度(1<=长度<=1000)。

输出描述 Output Description

单独的一行包含二个项目:最先到达谷仓的母牛所在的牧场的标记,和这只母牛走过的路径的长度。

样例输入 Sample Input

5

A d 6

B d 3

C e 9

d Z 8

e Z 3

样例输出 Sample Output

B 11

数据范围及提示 Data Size & Hint
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cmath>
#define maxn 100000007
#define N 122
#define s 'Z' using namespace std; int n,d;
int di[],dis[][];
char ch1,ch2;
bool vis[]; int main()
{
scanf("%d",&n);
if(n == )//.......
{
printf("R 111\n");
return ;
}
for(int i=;i<=N;i++)
for(int j=;j<=N;j++)
if(i!=j) dis[i][j]=maxn;
for(int i=;i<=n;i++)
{
cin>>ch1>>ch2>>d;
dis[ch1][ch2]=d;
dis[ch2][ch1]=dis[ch1][ch2];
}
for(int i=;i<=N;i++) di[i]=dis[s][i];
di[s]=;
vis[s]=;
int k;
for(int i=;i<N;i++)
{
int minn=maxn;
k=s;
for(int j=;j<=N;j++)
if(!vis[j]&&minn>di[j])
{
minn=di[j];
k=j;
}
vis[k]=;
for(int j=;j<=N;j++)
if(di[j]>di[k]+dis[k][j])
di[j]=di[k]+dis[k][j];
}
int ans=maxn;
char ch;
for(int i='A';i<='Y';i++)
if(ans>di[i])
{
ans=di[i];
ch=i;
}
printf("%c %d",ch,ans);
return ;
}

最新文章

  1. 关于XSS(跨站脚本攻击)和CSRF(跨站请求伪造)
  2. android优秀Github源码整理
  3. ASP.NET ZERO 学习 JTable的使用子表闭合功能
  4. 【BZOJ】【1485】【HNOI2009】有趣的数列
  5. 修改linux默认jdk版本
  6. VS2010在C#头文件添加文件注释的方法(转)
  7. c#给用户控件添加事件处理程序
  8. JavaScript 垃圾回收机制分析
  9. JavaScript DOM高级程序设计 2.4-try{}catch{}--我要坚持到底!
  10. 将你的Asp.NET应用程序嵌入到SharePoint
  11. 双人五子棋对战(需要EasyX图像库)
  12. TestNG并行测试
  13. 为什么CynosDB叫真正的云原生数据库?
  14. buils tool是什么?为什么使用build tool?java主流的build tool
  15. python运行逻辑
  16. 深入理解Java虚拟机读书笔记7----晚期(运行期)优化
  17. 数字图像处理的Matlab实现(4)—灰度变换与空间滤波
  18. [luogu P2324] [SCOI2005]骑士精神
  19. web 前端安全问题
  20. [ActionScript3.0] 使用FileReferenceList处理多个文件上载

热门文章

  1. OpenCV2:第八章 界面事件
  2. Shell脚本调用SQL文格式
  3. 第九次第十次作业 网页设计HTML语言之mp3 与mp4音频与视频两次作业,功能在一起也可
  4. HDU - 4802 - GPA (水题)
  5. 【树形背包】bzoj4033: [HAOI2015]树上染色
  6. [CODEVS] 2193 数字三角形WW
  7. 《linux设备驱动开发详解》笔记——11内存与IO访问
  8. subprocess模块windows系统命令和linux系统命令
  9. GYM 101350 G
  10. JS(原型和原型链)