USACO 2018 January Contest, Gold Problem 1. MooTube
In his spare time, Farmer John has created a new video-sharing service, which he names MooTube. On MooTube, Farmer John’s cows can record, share, and discover many amusing videos. His cows already have postedvideos ( ), conveniently numbered . However, FJ can’t quite figure out how to help his cows find new videos they might like.
FJ wants to create a list of “suggested videos” for every MooTube video. This way, cows will be recommended the videos most relevant to the ones they already watch.
FJ devises a metric of “relevance,” which determines, as the name suggests, how relevant two videos are to each other. He pickspairs of videos and manually computes their pairwise relevance. Then, FJ visualizes his videos as a network, where each video is a node and the pairs of videos he manually considered are connected. Conveniently, FJ has picked his pairs so that any video can be reached from any other video along a path of connections in exactly one way. FJ decides that the relevance of any pair of videos should be defined as the minimum relevance of any connection along this path.
Farmer John wants to pick a valueso that next to any given MooTube video, all other videos with relevance at least to that video will be suggested. However, FJ is worried that too many videos will be suggested to his cows, which could distract them from milk production! Therefore, he wants to carefully set an appropriate value of . Farmer John would like your help answering a number of questions about the suggested videos for certain values of .
INPUT FORMAT (file mootube.in):
The first line of input containsand ( ).The next lines each describe a pair of videos FJ manually compares. Each line includes three integers , , and ( ), indicating that videos and are connected with relevance .
The nextlines describe Farmer John’s questions. Each line contains two integers, and ( ), indicating that FJ’s th question asks how many videos will be suggested to viewers of video if .
OUTPUT FORMAT (file mootube.out):
Outputlines. On line , output the answer to FJ’s th question.
4 3 1 2 3 2 3 2 2 4 4 1 2 4 1 3 1
3 0 2
Farmer John finds that videos one and two have relevance three, that videos two and three have relevance two, and that videos two and four have relevance four. Based on this, videos one and three have relevance min(3, 2) = 2, videos one and four have relevance min(3, 4) = 3, and videos three and four have relevance min(2, 4) = 2.
Farmer John wants to know how many videos will be suggested from video two if, from video one if , and from video one if . We see that with , videos 1, 3, and 4 will be suggested on video two. With , no videos will be suggested from video one. With , however, videos 2 and 4 will be suggested from video one.