P1529 [USACO2.4] 回家 Bessie Come Home 题解

文章目录

    • 题目描述
    • 输入格式
    • 输出格式
    • 样例
      • 样例输入
      • 样例输出
    • 提示
    • 完整代码

题目描述

现在是晚餐时间,而母牛们在外面分散的牧场中。

Farmer John 按响了电铃,所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一只最快的母牛)。在挤奶的时候(晚餐前),每只母牛都在她自己的牧场上,一些牧场上可能没有母牛。

每个牧场由一条条道路和一个或多个牧场连接(可能包括自己)。有时,两个牧场(可能是字母相同的)之间会有超过一条道路相连。至少有一个牧场和谷仓之间有道路连接。因此,所有的母牛最后都能到达谷仓,并且母牛总是走最短的路径。当然,母牛能向着任意一方向前进,并且她们以相同的速度前进。牧场被标记为 a … z \texttt{a} \ldots \texttt{z} az A … Y \texttt{A} \ldots \texttt{Y} AY,在用大写字母表示的牧场中有一只母牛,小写字母中则没有。 谷仓的标记是 Z \texttt{Z} Z,注意没有母牛在谷仓中。

注意 m \texttt{m} m M \texttt{M} M 不是同一个牧场

输入格式

第一行一个整数 P P P 1 ≤ P ≤ 1 0 4 1\leq P \leq 10^4 1P104),表示连接牧场(谷仓)的道路的数目。

接下来 P P P 行,每行用空格分开的两个字母和一个正整数:被道路连接牧场的标号和道路的长度(道路长度均不超过 1 0 3 10^3 103)。

输出格式

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

样例

样例输入

5
A d 6
B d 3
C e 9
d Z 8
e Z 3

样例输出

B 11

提示

翻译来自 NOCOW

USACO 2.4

完整代码

#include <bits/stdc++.h>
using namespace std;
int m, cnt = 0, o = 0, dist[10002], h[152];
bool vis[10002];
struct node {int to, nxt, w;
} e[20005];
void add(int u, int v, int w) { cnt++, e[cnt].w = w, e[cnt].to = v, e[cnt].nxt = h[u], h[u] = cnt; }
struct cmp {bool operator()(int a, int b) { return dist[a] > dist[b]; }
};
priority_queue<int, vector<int>, cmp> q;
void d(int x) {memset(dist, 0x3f, sizeof(dist));memset(vis, 0, sizeof(vis));dist[x] = 0, q.push(x);while (!q.empty()) {int u = q.top();q.pop();if (vis[u])continue;vis[u] = true;for (int i = h[u]; i; i = e[i].nxt) {int v = e[i].to;if (!vis[v] && dist[u] + e[i].w < dist[v])dist[v] = dist[u] + e[i].w, q.push(v);}}
}
int main() {scanf("%d", &m);for (int i = 1, c; i <= m; i++) {char cha, chb;scanf(" %c %c %d", &cha, &chb, &c);add(int(cha), int(chb), c), add(int(chb), int(cha), c);}int minn = 0x3f3f3f3f, k;for (int i = 65; i <= 89; i++)if (h[i]) {d(i);if (dist[90] != 0x3f3f3f3f && minn > dist[90])minn = dist[90], k = i;}printf("%c %d", char(k), minn);return 0;
}




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/137597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】单链表之--无头单向非循环链表

前言&#xff1a;前面我们学习了动态顺序表并且模拟了它的实现&#xff0c;今天我们来进一步学习&#xff0c;来学习单链表&#xff01;一起加油各位&#xff0c;后面的路只会越来越难走需要我们一步一个脚印&#xff01; &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x…

Vue中模板语法与el 和 data 的两种写法

模板语法 标签语法 //在.html文件中 <body><h3>{{name}}</h3> </body> <script>new Vue({el:#root,data:{name:jack,url:网页地址}}) </script> 指令语法 标签语法和指令语法的简单区分&#xff0c;就是指令语法用v-on,v-bind,v-model指…

ubuntu 16.04.5 安装 vivado 2019.1 完整编译AD9361的环境

一、前期安装 1、安装ncurses库&#xff08;已经包含了&#xff0c;其他的os需要安装&#xff09; sudo apt install libncurses5二、安装 sudo ./xsetup使用lic进行激活。 三、安装后 输入指令 sudo gedit ~/.bashrc 末尾添加 source /opt/Xilinx/Vivado/2019.1/setti…

python 在 __init__.py文件中修改某变量的值(非手动)

python的__init__.py文件在Python包被导入或使用时开始执行。 当一个包被导入时&#xff0c;Python会自动执行该包下的__init__.py文件。这意味着__init__.py文件中的代码会在导入包时立即执行。 如果我们的应用程序需要在引入包的时候&#xff0c;对__init__.py文件的变量设…

引用(类名后加符号)和指针的区别

它们的区别&#xff1a; ①从现象上看&#xff0c; 指针在运行时可以改变其所指向的值&#xff0c; 而引用一旦和某个对象绑定后就不再改变。 这句话可以理解为&#xff1a; 指针可以被重新赋值以指向另一个不同的对象。 但是引用则总是指向在初始化时被指定的对象&#x…

无人机航拍技术基础入门,无人机拍摄的方法与技巧

一、教程描述 买了无人机&#xff0c;可是我不敢飞怎么办&#xff1f;禁飞区越来越多&#xff0c;到底哪儿才能飞&#xff1f;我的无人机跟你一样&#xff0c;为什么我拍不出大片&#xff1f;厂家的说明书看不进去&#xff0c;有没有一套无人机的课程&#xff0c;可以快速上手…

ruoyi前后端分离版本开发框架解读---让你快速入门

后端结构 com.ruoyi ├── common // 工具类 │ └── annotation // 自定义注解 │ └── config // 全局配置 │ └── constant // 通用常量 │ └── core …

sqli-labs-1

文章目录 Less-01Less-02Less-03Less-04 Less-01 1.输入不同的id值&#xff0c;可以获取不同的用户信息&#xff1a; 2.在sql后拼接’or11–&#xff0c;并没有获取到所有用户的信息&#xff0c;猜测可能用了limit语句 3.构造错误的sql语句&#xff0c;果然有limit报错: …

《网络协议》03. 传输层(TCP UDP)

title: 《网络协议》03. 传输层&#xff08;TCP & UDP&#xff09; date: 2022-09-04 22:37:11 updated: 2023-11-08 15:58:52 categories: 学习记录&#xff1a;网络协议 excerpt: 传输层、UDP、TCP&#xff08;可靠传输&#xff0c;流量控制&#xff0c;拥塞控制&#xf…

Go采集代理框架

代理服务器在网络爬虫、数据采集和反爬虫等场景中起着重要的作用。通过使用代理服务器&#xff0c;我们可以隐藏客户端的真实IP地址并提高访问速度。Go语言作为一种强大且可靠的编程语言&#xff0c;提供了很多库和工具来实现代理采集框架。在本文中&#xff0c;我们将介绍如何…

汽车标定技术(八)--MPC57xx是如何支持标定的页切换

目录 1.页切换的概念 1.1 标定常量的理解 1.2 页切换 2.MPC57xx的Overlay模块 3.小结 1.页切换的概念 在汽车标定测量中&#xff0c;有一个概念我想很多人都听过&#xff0c;但是实际上在项目里没有用到过&#xff0c;那就是今天要讲的页切换概念。在讲页切换的时候&#…

手机怎么打包?三个方法随心选!

有的时候&#xff0c;电脑不在身边&#xff0c;只有随身携带的手机&#xff0c;这个时候又急需把文件打包发送给同事或者同学&#xff0c;如何利用手机操作呢&#xff1f;下面介绍了具体的操作步骤。 一、通过手机文件管理自带压缩功能打包 1、如果是iOS系统&#xff0c;就在手…

angular+ionic+npm项目运行

angularionicnpm项目运行 错误记录&#xff08;1&#xff09;Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-72_binding.node&#xff08;2&#xff09;The npm warning "A requires a peer of B but none is installe…

【PHP函数封装】分分钟帮你实现数据脱敏处理, 支持手机号码、邮箱、身份证号 中文字符串!

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&#x1…

MIPSsim模拟器 使用说明

&#xff08;一&#xff09; 启动模拟器 双击MIPSsim.exe&#xff0c;即可启动该模拟器。模拟器启动时&#xff0c;自动将自己初始化为默认状态。所设置的默认值为&#xff1a; u所有通用寄存器和浮点寄存器为全0&#xff1b; u内存清零&#xff1b; u流水寄存器为全0&#xff…

【ElasticSearch系列-06】Es集群架构的搭建以及集群的核心概念

ElasticSearch系列整体栏目 内容链接地址【一】ElasticSearch下载和安装https://zhenghuisheng.blog.csdn.net/article/details/129260827【二】ElasticSearch概念和基本操作https://blog.csdn.net/zhenghuishengq/article/details/134121631【三】ElasticSearch的高级查询Quer…

P1547 [USACO05MAR] Out of Hay S 题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 完整代码 题目描述 Bessie 计划调查 N N N&#xff08; 2 ≤ N ≤ 2 000 2 \leq N \leq 2\,000 2≤N≤2000&#xff09;个农场的干草情况&#xff0c;它从 1 1 1 号农场出发。农场之间总共有 M M M&#xff08; 1 ≤…

深入理解ClickHouse跳数索引

一、跳数索引​ 影响ClickHouse查询性能的因素很多。在大多数场景中&#xff0c;关键因素是ClickHouse在计算查询WHERE子句条件时是否可以使用主键。因此&#xff0c;选择适用于最常见查询模式的主键对于表的设计至关重要。 然而&#xff0c;无论如何仔细地调优主键&#xff…

14:00面试,14:06就出来了,问的问题有点变态。。。。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…

跨境电商:自养买家账号测评,你需要了解的细节

在跨境电商的浪潮中&#xff0c;自养买家账号测评已经成为了一种趋势。近期&#xff0c;不少跨境卖家咨询自养买家账号测评的相关问题&#xff0c;看来有必要再讲解一下卖家测评的一些细节。今天将着重介绍自养号测评的相关内容。 首先&#xff0c;什么叫做自养号测评呢&#x…