当前位置: 首页 > news >正文

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;
}




相关文章:

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

文章目录 题目描述输入格式输出格式样例样例输入样例输出 提示完整代码 题目描述 现在是晚餐时间&#xff0c;而母牛们在外面分散的牧场中。 Farmer John 按响了电铃&#xff0c;所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓&#xff08;在给出的测试数…...

Python语法基础(条件语句 循环语句 函数 切片及索引)

目录 条件语句关键字与C对照注意 循环语句while 循环语句while else 循环语句for 循环语句range() 函数 for else 循环语句循环控制语句练习&#xff1a;打印乘法表 函数函数定义及调用函数值传递和引用传递多返回值参数类型位置参数默认参数关键字参数可变数量的参数可变数量的…...

Debian 9 Stretch APT问题

Debian 9 Stretch APT问题 flyfish 操作系统 Debian 9 Stretch 错误提示 使用sudo apt update错误提示 Ign:1 http://mirrors.aliyun.com/debian stretch InRelease Ign:2 http://mirrors.aliyun.com/debian-security stretch/updates InRelease Ign:3 http://mirrors.al…...

遍历List集合和Map进行修改和删除报java.util.ConcurrentModificationException错误详解

一、异常产生 当我们使用foreach迭代一个ArrayList或者HashMap时&#xff0c;如果尝试对集合做一些修改操作&#xff08;例如删除元素或新增&#xff09;&#xff0c;可能会抛出java.util.ConcurrentModificationException的异常。 javapublic static void main(String[] args)…...

Android从一个APP跳转到另外一个APP

1、从当前APP去全新启动另外一个目标APP&#xff08;非覆盖同一个进程&#xff09;&#xff1a; 启动另外一个目标APP&#xff08;非覆盖原来APP的方式&#xff09; 1、当前APP加入获取权限声明&#xff1a;&#xff08;不加人权限检查&#xff0c;没法启动目标app&#xff0…...

我的创作纪念日——创作者2年

机缘 我最初使用CSDN估计是在2014年左右&#xff0c;当时还在读研&#xff0c;除了在当时比较有名的BBS例如小木虫上进行学术交流外&#xff0c;我发现很多问题百度后&#xff0c;都会转到CSDN&#xff0c;而且文章内容颇为专业&#xff0c;很多问题也都有专业的回答&#xff…...

大数据之LibrA数据库系统告警处理(ALM-12032 ommdba用户或密码即将过期)

告警解释 系统每天零点开始&#xff0c;每8小时检测当前系统中ommdba用户和密码是否过期&#xff0c;如果用户或密码即将在15天内过期&#xff0c;则发送告警。 当系统中ommdba用户过期的期限修改或密码重置&#xff0c;告警恢复。 告警属性 告警ID 告警级别 可自动清除 …...

C_3练习题

一、单项选择题(本大题共20小题&#xff0c;每小题2分&#xff0c;共40分。在每小题给出的四个备选项中&#xff0c;选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) 1.下列叙述中正确的是()。 A.用C程序实现的算法必须要有输入和输出操作 B.用C程序实现的…...

CentOS7 安装Jenkins 2.414.3 详细教程

目录 1、前提条件硬件软件-java11安装 2、安装jenkins3、启动jenkins配置用户和用户组配置JAVA_HOME 4、配置Jenkins一直处于启动状态5、测试Jenkins是否可以访问以及配置6、访问Jenkins系统 1、前提条件 硬件 内存 4G ; 硬盘 20G 软件-java11安装 上传文件jdk-11.0.21_lin…...

chatglm3-6b记录问答对

# 打开文件,第二个参数是打开文件的模式&#xff0c;a代表追加&#xff0c;也就是说&#xff0c;打开这个文件之后直接定位到文件的末尾 file open(chatlog.txt, "a") # 写入数据 file.write(ask:prompt_text\n) file.write(response:response\n) # 关闭文件 fil…...

k8s ingress 代理 mysql 3306端口

helm 安装 ingress-nginx helm upgrade --install ingress-nginx ingress-nginx \--repo https://kubernetes.github.io/ingress-nginx \--namespace ingress-nginx --create-namespace执行命令 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-ngin…...

Informix管理共享内存

1、查看共享内存使用情况 [informixREHL4 ~]$ onstat -g seg IBM Informix Dynamic Server Version 11.50.UC4 -- On-Line -- Up 00:38:21 -- 144144 Kbytes Segment Summary: id key addr size ovhd class blkused blkfree 393226 …...

Webpack 中 Plugin 的作用是什么?常用 plugin 有哪些?

说说webpack中常见的Plugin&#xff1f;解决了什么问题&#xff1f;- 题目详情 - 前端面试题宝典 1、plugin 的作用 Plugin 是一种计算机应用程序&#xff0c;它和主应用程序互相交互&#xff0c;以提供特定的功能。 是一种遵循一定规范的应用程序接口编写出来的程序&#…...

CSRF(跨站请求伪造)攻击演示

目录 CSRF(跨站请求伪造)攻击演示CSRF 是什么CSRF 演示项目代码CSRF 演示过程服务启动演示 CSRF(跨站请求伪造)攻击演示 CSRF 是什么 CSRF&#xff08;Cross-Site Request Forgery&#xff09;跨站请求伪造&#xff0c;是一种网络安全攻击&#xff0c;其目标是利用被攻击者在…...

图解三傻排序 选择排序、冒泡排序、插入排序

&#xff08;1&#xff09;选择排序 // 交换 void swap(int arr[], int i, int j) {int tmp arr[i];arr[i] arr[j];arr[j] tmp; }// 选择排序 void selectionSort(int arr[],int len) {if (len < 2) return;for (int minIndex, i 0; i < len - 1; i) {minIndex i;f…...

【数据结构】树与二叉树(六):二叉树的链式存储

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉…...

后端Java日常实习生面试(2023年11月10日)

面试岗位为&#xff1a;Java 后端开发实习生 面试时长&#xff1a;30分钟 面试时间&#xff1a;2023年11月10日 首先介绍一下项目吧 这里介绍时有一个失误&#xff0c;没有主动把屏幕共享给打开&#xff0c;因为我在面试之前已经在 processon 上画好了项目的流程图&#xf…...

使用iperf3在macOS上进行网络性能测试

iperf3是一个用于测量网络性能的工具&#xff0c;它可以帮助你了解两台服务器之间的带宽和延迟。本博客将指导你在macOS上安装iperf3&#xff0c;并展示如何连接服务器进行网络性能测试。 步骤1&#xff1a;安装Homebrew 如果你尚未安装Homebrew&#xff0c;可以通过以下步骤…...

09-MySQL主从复制

01-主从复制原理 MySQL主从复制是一种用于实现数据备份、读写分离和扩展性的技术。它基于二进制日志&#xff08;Binary Log&#xff09;来将主数据库上的更改操作同步到一个或多个从数据库。 MySQL主从复制的基本原理如下&#xff1a; 主服务器&#xff08;Master&#xff0…...

virtualBox虚拟机局域网访问配置

在VirtualBox中&#xff0c;桥接网络是一种网络连接类型&#xff0c;它允许虚拟机连接到物理网络上的路由器或交换机&#xff0c;在物理网络上获得独立的网络地址和访问权限。 一、设置VirtualBox桥接网络的步骤&#xff1a; 打开VirtualBox软件&#xff0c;并选择你想要配置…...

8大主流网盘直链下载助手:免费获取真实下载链接的完整指南

8大主流网盘直链下载助手&#xff1a;免费获取真实下载链接的完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / …...

逻辑优化进阶-香农分解在时序关键路径优化中的应用

1. 香农分解与时序优化的奇妙化学反应 第一次听说香农分解能优化电路时序时&#xff0c;我的反应和大多数工程师一样&#xff1a;"这不就是个布尔函数分解技巧吗&#xff1f;"直到亲眼见证它把一个关键路径延迟降低了30%&#xff0c;才意识到这个诞生于1940年代的数学…...

从数据到生物学故事:手把手教你用ATAC-seq+RNA-seq做整合分析

从数据到生物学故事&#xff1a;ATAC-seq与RNA-seq整合分析实战指南 当我们在显微镜下观察肝细胞和神经细胞时&#xff0c;尽管它们拥有完全相同的DNA序列&#xff0c;却展现出截然不同的形态和功能。这种差异的核心秘密隐藏在染色质的动态开放与闭合之中。ATAC-seq技术就像一把…...

Golang怎么实现跳表数据结构_Golang如何用Skip List实现有序数据的快速查找【方法】

Go标准库未提供跳表&#xff0c;因map和sort.Slicesort.Search已覆盖多数有序场景&#xff1b;但需动态插入、保持有序且平均O(log n)查找时&#xff08;如内存索引、延迟调度&#xff09;&#xff0c;须自研或引入第三方。为什么 Go 标准库没有 skip listGo 官方没提供跳表&am…...

vulhub系列-76-02-Breakout(超详细)

免责声明&#xff1a;本文记录的是 02-Breakout 渗透测试靶机 的解题过程&#xff0c;所有操作均在 本地授权环境 中进行。内容仅供 网络安全学习与防护研究 使用&#xff0c;请勿用于任何非法用途。读者应遵守《网络安全法》及相关法律法规&#xff0c;自觉维护网络空间安全。…...

AI+3D赋能文科教学:15个可直接使用的高质量可视化Prompt(历史/地理/文化)

在大多数人的认知中&#xff0c;3D可视化、WebGL、Three.js 这些技术似乎更多应用于理科领域&#xff0c;比如物理模拟、数学建模等。但实际上&#xff0c;随着 AI 生成能力的发展&#xff0c;文科内容同样可以通过 3D 交互的方式进行重构&#xff0c;实现更直观、更沉浸的学习…...

**标题:MLOps实战进阶:用Python + Docker + Airflow打造自动化机器学习

标题&#xff1a;MLOps实战进阶&#xff1a;用Python Docker Airflow打造自动化机器学习流水线 在现代AI项目中&#xff0c;模型开发不再是“一次性任务”&#xff0c;而是持续迭代、版本控制、部署监控的完整生命周期管理过程。这正是 MLOps&#xff08;Machine Learning Op…...

芯片逆向工程与专利分析的技术实践与法律风险

1. 芯片逆向工程的行业现状与技术痛点在半导体行业摸爬滚打十几年&#xff0c;我见过太多公司一边公开否认、一边私下大搞逆向工程的"行业潜规则"。这就像厨艺界的秘密配方破解——大家都说尊重原创&#xff0c;但谁不想知道对手的独门秘方&#xff1f;逆向工程本质上…...

【限时解密】Loom响应式项目CI/CD流水线重构方案(GitHub Actions + JUnit 5.12+ Loom-aware Profiling插件)

第一章&#xff1a;Java 项目 Loom 响应式编程转型指南 2026 最新趋势 Java 平台在 2026 年已全面拥抱 Project Loom 的虚拟线程&#xff08;Virtual Threads&#xff09;与结构化并发&#xff08;Structured Concurrency&#xff09;&#xff0c;并与响应式编程范式深度协同。…...

Wakefern EDI 对接指南:食品零售供应链的数字化合规路径

Wakefern Food Corp 公司简介 Wakefern Food Corp 是美国东北部最大的食品零售合作社&#xff0c;总部位于新泽西州&#xff0c;旗下运营 ShopRite、The Fresh Grocer 等品牌。作为年销售额超百亿美元的供应链核心企业&#xff0c;Wakefern 要求其供应商通过 EDI 实现采购、物…...