#5072. Problem 2. Farm Updates
Problem 2. Farm Updates
Problem 2. Farm Updates
USACO 2022 January Contest, Gold
Farmer John operates a collection of farms (), conveniently numbered . Initially, there are no roads connecting these farms to each-other, and each farm is actively producing milk.
Due to the dynamic nature of the economy, Farmer John needs to make changes to his farms according to a series of update operations (). Update operations come in three possible forms:
- (D x) Deactivate an active farm , so it no longer produces milk.
- (A x y) Add a road between two active farms and .
- (R e) Remove the th road that was previously added ( is the first road that was added).
A farm that is actively producing milk, or that can reach another active farm via a series of roads, is called a "relevant" farm. For each farm , please calculate the maximum () such that is relevant after the -th update.
INPUT FORMAT (input arrives from the terminal / stdin):
The first line of input contains and . The next lines each contain an update of one of the following forms:
D x A x y R e
It is guaranteed that for updates of type R, is at most the number of roads that have been added so far, and no two updates of type R have the same value of .
OUTPUT FORMAT (print output to the terminal / stdout):
Please output lines, each containing an integer in the range .
SAMPLE INPUT:
5 9 A 1 2 A 2 3 D 1 D 3 A 2 4 D 2 R 2 R 1 R 3
SAMPLE OUTPUT:
7 8 6 9 9
In this example, roads are removed in the order .
- Farm is relevant just before is removed.
- Farm is relevant just before is removed.
- Farm is relevant just before is removed.
- Farms and are still active after all queries. Therefore they both stay relevant, and the output for both should be .
SCORING: Tests 2 through 5 satisfy , Test cases 6 through 20 satisfy no additional constraints.
Problem credits: Benjamin Qi