2.9(Clear Cold Water)

http://noi.openjudge.cn/ch0306/2392/

描述

The steamy, sweltering summers of Wisconsin's dairy district stimulate the cows to slake their thirst. Farmer John pipes clear cold water into a set of N (3 <= N <= 99999; N odd) branching pipes conveniently numbered 1..N from a pump located at the barn. As the water flows through the pipes, the summer heat warms it. Bessie wants to find the coldest water so she can enjoy the weather more than any other cow.

She has mapped the entire set of branching pipes and noted that they form a tree with its root at the farm and furthermore that every branch point has exactly two pipes exiting from it. Surprisingly, every pipe is exactly one unit in length; of course, all N pipes connect up in one way or another to the pipe-tree.

Given the map of all the pipe connctions, make a list of the distance from the barn for every branching point and endpoint.Bessie will use the list to find the very coldest water.

The endpoint of a pipe, which might enter a branching point or might be a spigot, is named by the pipe's number. The map contains C (1 <= C <= N) connections, each of which specifies three integers: the endpoint E_i (1 <= E_i <= N) of a pipe and two branching pipes B1_i and B2_i (2 <= B1_i <= N; 2 <= B2_i <= N). Pipe number 1 connects to the barn; the distance from its endpoint to the barn is 1.

输入

* Line 1: Two space-separated integers: N and C

* Lines 2..C+1: Line i+1 describes branching point i with three space-separated integers: E_i, B1_i, and B2_i

输出

* Lines 1..N: Line i of the output contains a single integer that is the distance from the barn to the endpoint of pipe i

样例输入

5 2
3 5 4
1 2 3

样例输出

1
2
2
3
3

提示

INPUT DETAILS:

The input above describes this pipe map:

                    +------+
                    | Barn |
                    +------+
                       | 1
                       *
                    2 / \ 3
                         *
                      4 / \ 5



OUTPUT DETAILS:

Pipe 1 is always distance 1 from the barn. Pipes 2 and 3 connect directly to pipe 1 and thus are distance 2 from the barn. Pipes 4 and 5, which connect to pipe 3, are distance 3 from the barn.

翻译:

描述

威斯康辛州奶牛场闷热的夏天刺激着奶牛去解渴。农夫约翰将清澈的冷水注入一组N (3 <= N <= 99999;N奇数)分支管道方便编号为1..从谷仓的泵里取氮。当水流过管道时,夏天的热量使它变暖。贝茜想找到最冷的水,这样她就可以比其他奶牛更享受天气了。

她绘制了整个分支管道的地图,并注意到它们形成了一棵树,根在农场,而且每个分支点都有两个管道出口。令人惊讶的是,每根管子的长度恰好是一个单位;当然,所有的N个管道都以这样或那样的方式连接到管道树。

给定所有管道连接的映射,列出每个分支点和端点到仓库的距离。贝西会用这个列表找到最冷的水。

管道的端点(它可能进入一个分支点,也可能是一个插口)由管道的编号命名。映射包含C (1 <= C <= N)个连接,每个连接指定三个整数:一个管道的端点E_i (1 <= E_i <= N)和两个分支管道B1_i和B2_i (2 <= B1_i <= N;2 <= B2_i <= N)。1号管道连接到谷仓;从它的端点到谷仓的距离是1。

输入

*第一行:两个用空格分隔的整数:N和C

*第2行..C+1:第i+1行描述了分支点i和三个用空格分隔的整数:E_i, B1_i和B2_i

输出

*线1 . .N:输出的第i行包含一个整数,从仓库到管道i端点的距离

样例输入

5个2

3 5 4

1 2 3

样例输出

1

2

2

3.

3.

提示

输入详细信息:

上面的输入描述了这个管道映射:

 +------+
                    | Barn |
                    +------+
                       | 1
                       *
                    2 / \ 3
                         *
                      4 / \ 5

输出详细信息:

1号管道离谷仓总是有一段距离。管道2和3直接连接到管道1,因此距离谷仓2。4号和5号管道连接到3号管道,距离谷仓的距离为3。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: swustoj493: postoffice 这个问题不是很清楚,不知道您想要什么样的回答。如果您是想问西南科技大学的oj系统中的题目编号为swustoj493的题目是什么,那么这道题目是关于模拟邮局的题目,需要模拟邮局的业务流程,包括寄信、收信、查询等操作。如果您有其他问题,请具体说明。 ### 回答2: swustoj493是一个在线评测系统,主要用于程序设计竞赛和编程练习。其中postoffice是一道题目,大致描述如下: 假设你现在是一个邮差,需要给不同地点的人分发信件。你可以驾驶一辆汽车,汽车每次可以行驶d距离,需要从邮局出发,然后依次到达所有的收件人所在的位置,最终回到邮局。每个收件人的位置以及他们的信息都已知,你需要根据他们的需求,按照最优的顺序依次分配邮件,保证每个人都能及时收到自己的信件。 这个问题实际上是TSP问题(旅行售货员问题)的一种变体。TSP问题的目标是找到一条路径,使得经过所有的点并回到起点,总路程最短。而postoffice问题则是在TSP问题的基础上增加了一些限制,使得问题更加复杂。 解决这个问题的方法主要有两种:暴力枚举和近似算法。暴力枚举法可以穷尽所有可能的路径,但时间复杂度会随着点数的增加呈指数级增长,不适合应用于大规模数据。而近似算法则可以在合理的时间内快速求解问题,但得到的路径并不一定是最优解。 在编程实现时,可以采用图论的思路,利用邻接矩阵或邻接表来表示点之间的关系,然后使用动态规划、贪心等算法来求解。此外,还可以结合优化算法如模拟退火、遗传算法、粒子群优化等来进一步提高算法的效率。 总的来说,postoffice问题是一个难度较高的数学问题,需要较高的抽象思维、编程技巧以及优化算法知识,同时也是一个很好的练手题目。 ### 回答3: SWUSTOJ493: postoffice是一个计算机程序设计考试题目,该题目是一个基于图论算法的问题。题目描述如下: 你的任务是帮助快递公司规划一条最短的路线,使得每个邮局都可以被访问到。假设有$n$个邮局和$m$条道路,每个邮局有一个编号$1\sim n$,并且每个道路有一个长度$l_i$,连接着两个邮局$x_i$和$y_i$。 为了简化问题,我们假设每个道路都是双向的,且两个邮局之间只有一条道路相连。快递员可以从任一邮局出发,但必须返回原始的起点才算完成任务。 你需要设计一个算法来寻找一条最短的路线,使得经过的邮局数量最大,输出所经过的邮局数量即可。 对于这道题目,我们可以采用Dijkstra算法,首先将所有的邮局看作一个个节点,然后建立邮局之间的道路连接,根据Dijkstra算法的特点,每次会寻找距离起点最近的节点,我们可以在算法的过程中记录下它经过的邮局数量,最终输出经过邮局数量最大的那条路径及经过的邮局数量即可。 例如,在图中点集为$V=\{1,2,3,4,5\}$,边集为$E=\{(1,2,1),(1,3,2),(2,3,2),(2,4,3),(2,5,5),(3,5,4),(4,5,1)\}$,其中(1,2,1)表示点1和点2之间有一条长度为1的边,求所经过的邮局数量最大的最短路经过的邮局数量为3,即起点到达2、3、5这三个节点。 因此,对于SWUSTOJ493: postoffice考试题目,我们只需要利用Dijkstra算法,按照题目要求,记录经过的邮局数量最大的路径即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值