兽径管理

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

约翰农场的牛群希望能够在 NN 个草地之间任意移动。草地的编号由 11NN。草地之间有树林隔开。牛群希望能够选择草地间的路径,使牛群能够从任一 片草地移动到任一片其它草地。 牛群可在路径上双向通行。

牛群并不能创造路径,但是他们会保有及利用已经发现的野兽所走出来的路径(以下简称兽径)。每星期他们会选择并管理一些或全部已知的兽径当作通路。

牛群每星期初会发现一条新的兽径。他们接着必须决定管理哪些兽径来组成该周牛群移动的通路,使得牛群得以从任一草地移动到任一草地。牛群只能使用当周有被管理的兽径做为通路。

牛群希望他们管理的兽径长度和为最小。牛群可以从所有他们知道的所有兽径中挑选出一些来管理。牛群可以挑选的兽径与它之前是否曾被管理无关。

兽径决不会是直线,因此连接两片草地之间的不同兽径长度可以不同。 此外虽然两条兽径或许会相交,但牛群非常的专注,除非交点是在草地内,否则不会在交点换到另外一条兽径上。

在每周开始的时候,牛群会描述他们新发现的兽径。如果可能的话,请找出可从任何一草地通达另一草地的一组需管理的兽径,使其兽径长度和最小。

输入格式

输入的第一行包含两个用空白分开的整数 NNWWWW 代表你的程序需要处理的周数。

以下每处理一周,读入一行数据,代表该周新发现的兽径,由三个以空白分开的整数分别代表该兽径的两个端点(两片草地的编号) 与该兽径的长度。一条兽径的两个端点一定不同。

输出格式

每次读入新发现的兽径后,你的程序必须立刻输出一组兽径的长度和,此组兽径可从任何一草地通达另一草地,并使兽径长度和最小。如果不能找到一组可从任一草地通达另一草地的兽径,则输出 1-1

4 6	 	 
1 2 10	 	 
1 3 8	 	 
3 2 3	 	 
1 4 3	 	 
1 3 6	 	 
2 1 2	 	 

-1
-1
-1
14
12
8

提示

样例解释

对于每一周,

  • 第一周时 44 号草地不能与其他草地连通,输出 1-1
  • 第二周时 44 号草地不能与其他草地连通,输出 1-1
  • 第三周时 44 号草地不能与其他草地连通,输出 1-1
  • 第四周时可以选择兽径 (1,4,3),(1,3,8)(1,4,3),(1,3,8)(3,2,3)(3,2,3)
  • 第五周时可以选择兽径 (1,4,3),(1,3,6)(1,4,3),(1,3,6)(3,2,3)(3,2,3)
  • 第六周时可以选择兽径 (1,4,3),(2,1,2)(1,4,3),(2,1,2)(3,2,3)(3,2,3)

数据范围及约定

对于全部数据,1N2001\le N\le 2001W60001 \le W \le 6000,兽径的长度不超过 10410^4 且为正整数。

【A班】最小生成树

Not Claimed
Status
Done
Problem
20
Open Since
2025-10-22 0:00
Deadline
2025-10-31 23:59
Extension
24 hour(s)