A942.Moorio Kart--Platinum

NOI/NOI+/CTSC

USACO

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

Bessie and Farmer John enjoy goat kart racing. The idea is very similar to Go-
Kart racing that others enjoy, except the karts are pulled by goats and the
track is made from nearby farmland. The farmland consists of NN meadows and
MM roads, each connecting a pair of meadows.
Bessie wants to make a course from nearby farms. A farm is a subset of two or
more meadows within which every meadow can reach every other meadow along a
unique sequence of roads.
The nearby farmland may contain multiple farms. Suppose there are KK farms.
Bessie would like to make a goat kart loop by connecting all KK farms by
adding KK roads of length XX. Each farm should be visited exactly once and
at least one road must be traversed inside each farm.
To make the course interesting for racers, the total length of the track
should be at least YY. Bessie wants to know the sum, over all such
interesting tracks, of the total track lengths. A track is different from
another if there are two meadows which are adjacent (after adding the roads
between farms) in one track but not the other. Please note that only the roads
chosen matter, and not the direction the goat karts will travel along those
roads.

输入格式

The first line of input contains NN, MM, XX, and YY where 1N15001 \leq N \leq 1500, 1MN11 \leq M \leq N-1, and 0X,Y25000 \leq X, Y \leq 2500.
Each of the MM following lines describe roads. The lines are of the form:
AiA_i BiB_i DiD_i, meaning that meadows AiA_i and BiB_i are connected with a
road of integer length DiD_i (1Ai,BiN1 \leq A_i, B_i \leq N, 0Di25000 \leq D_i \leq 2500). Each meadow is incident to at least one road, and there are no cycles
of roads.
In at least 70% of the test cases, it is also guaranteed that N1000N \leq 1000
and Y1000Y \leq 1000.

输出格式

Output a single integer, giving the sum of track lengths over all interesting
tracks. As the sum of track lengths can be quite large, print the sum of
lengths modulo 109+710^9+7.

输入输出样例

  • 输入#1

    5 3 1 12
    1 2 3
    2 3 4
    4 5 6
    

    输出#1

    54
    

说明/提示

This example has 6 possible tracks
1 --> 2 --> 4 --> 5 --> 1 (length 11)
1 --> 2 --> 5 --> 4 --> 1 (length 11)
2 --> 3 --> 4 --> 5 --> 2 (length 12)
2 --> 3 --> 5 --> 4 --> 2 (length 12)
1 --> 2 --> 3 --> 4 --> 5 --> 1 (length 15)
1 --> 2 --> 3 --> 5 --> 4 --> 1 (length 15)
The answer is 12+12+15+15=5412+12+15+15=54, adding up only the tracks where the length is
at least 1212.
Note that for this problem, the standard time limit is increased to 3 seconds
per test case (6 seconds per case for Java and Python).

首页