T1079 回家 codevs
现在是晚餐时间,而母牛们在外面分散的牧场中。 农民约翰按响了电铃,所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一只最快的母牛)。 在挤奶的时候(晚餐前),每只母牛都在她自己的牧场上,一些牧场上可能没有母牛。 每个牧场由一条条道路和一个或多个牧场连接(可能包括自己)。 有时,两个牧场(可能是字母相同的)之间会有超过一条道路相连。 至少有一个牧场和谷仓之间有道路连接。 因此,所有的母牛最后都能到达谷仓,并且母牛总是走最短的路径。 当然,母牛能向着任意一方向前进,并且她们以相同的速度前进。 牧场被标记为'a'..'z'和'A'..'Y',在用大写字母表示的牧场中有一只母牛,小写字母中则没有。 谷仓的标记是'Z',注意没有母牛在谷仓中。
注意'm'和'M'不是同一个牧场否则错误上面的意思是说:输入数据中可能会同时存在M,m(郁闷ing),比如
M a a m m z
第 1 行: 整数 P(1<= P<=10000),表示连接牧场(谷仓)的道路的数目。
第 2 ..P+1行: 用空格分开的两个字母和一个整数:
被道路连接牧场的标记和道路的长度(1<=长度<=1000)。
单独的一行包含二个项目:最先到达谷仓的母牛所在的牧场的标记,和这只母牛走过的路径的长度。
5
A d 6
B d 3
C e 9
d Z 8
e Z 3
B 11
#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 ;
}
T1079 回家 codevs的更多相关文章
- 魔法禁书目录2:回家(codevs 3024)
题目描述 Description 大妈打完三战回家,我知道他是怎么回来的,欧洲到日本有L个站点他决定乘坐恰好n次飞机(不是学院都市的超音速飞机)和m次火车来从第一个站点到达最后一个站点.但是有一点很重 ...
- codevs 1079 回家
1079 回家 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 现在是晚餐时间,而母牛们在外面分散的牧场中. 农民约翰按响了电铃 ...
- codevs 1079 回家x
1079 回家 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 现在是晚餐时间,而母牛们在外面分散的牧场中. 农民约翰 ...
- 【CodeVS】p1079 回家
题目描述 Description 现在是晚餐时间,而母牛们在外面分散的牧场中. 农民约翰按响了电铃,所以她们开始向谷仓走去. 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一 ...
- codevs 1531 山峰
codevs 1531 山峰 题目描述 Description Rocky山脉有n个山峰,一字排开,从西向东依次编号为1, 2, 3, --, n.每个山峰的高度都是不一样的.编号为i的山峰高度为hi ...
- codevs 搜索题汇总(青铜+白银级)
1792 分解质因数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 编写一个把整数N分解为质因数乘积的程序. 输入描 ...
- codevs 1063 合并果子 STL 优先队列
1063 合并果子 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codevs.cn/problem/1063/ Description 在一 ...
- Codevs 3409 搬运礼物
3409 搬运礼物 CodeVS原创 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 青铜 Bronze 题解 题目描述 Description 小浣熊松松特别喜欢交 ...
- T1063 合并果子 codevs
http://codevs.cn/problem/1063/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 在一个 ...
随机推荐
- PWN题搭建
0x00.准备题目 例如:level.c #include <stdio.h> #include <unistd.h> int main(){ char buffer[0x10 ...
- shell脚本,配置文件加载顺序,以及什么时候加载。
在linux系统中,有/etc/profile,/etc/bashrc ,~/.bash_profile,~/bashrc这四个配置文件,这些文件,会自动的在某些时候加载,也就是点一下,一般都是些别名 ...
- ios之键盘的自定义
一.键盘通知 当文本View(如UITextField,UITextView,UIWebView内的输入框)进入编辑模式成为first responder时,系统会自动显示键盘.成为firstresp ...
- mysql 备份解密脚本
#!/bin/bash #by sk 备份解码脚本 echo "-------------------------------------------------" functio ...
- Linux基础学习-使用DHCP动态管理主机地址
动态主机配置协议 部署dhcpd服务程序 参数 作用 ddns-update-style none; 设置DNS服务不自动进行动态更新 ignore client-updates; 忽略客户端更新DN ...
- 条款38:通过复合塑模has-a或“根据某物实现出”
NOTE: 1.复合(composition)的意义和public继承完全不同. 2.在应用域(application domain),复合意味 has-a(有一个). 在实现域(implementa ...
- systemverilog之OOP
what is oop terminology an example class default methods for classes static attibute assigment and c ...
- adb 常用命令详解
1.把电脑上文件或目录copy到手机中:adb push <local> <remote> - copy file/dir to device 此处的<local& ...
- Linux下制作不用密码可立即登录的SSH用户
一.客户端建立两把钥匙 (1)本例以客户端的monkey用户为例,首先切换到~/.ssh目录下,如果没有该目录的话,需要进行新建 cd ~ mkdir .ssh chmod 700 .ssh cd ~ ...
- java 协程框架kilim
http://phl.iteye.com/blog/2247112 http://chen-tao.github.io/2015/10/02/kilim-work-way/ 待丰富