USACO 2018 US Open Contest, Silver Problem 3. Multiplayer Moo
The cows have come up with a creative new game, surprisingly giving it the least creative name possible: "Moo".
The game of Moo is played on angrid of square cells, where a cow claims a grid cell by yelling "moo!" and writing her numeric ID number in the cell.
At the end of the game, every cell contains a number. At this point, a cow wins the game if she has created a region of connected cells as least as large as any other region. A "region" is defined as a group of cells all with the same ID number, where every cell in the region is directly adjacent to some other cell in the same region either above, below, left, or to the right (diagonals don't count).
Since it is a bit boring to play as individuals, the cows are also interested in pairing up to play as teams. A team of two cows can create a region as before, but now the cells in the region can belong to either of the two cows on the team.
Given the final state of the game board, please help the cows compute the number of cells belonging to the largest region that any one cow owns, and the number of cells belonging to the largest region that can be claimed by a two-cow team. A region claimed by a two-cow team only counts if it contains the ID numbers of both cows on the team, not just one of the cows.
INPUT FORMAT (file multimoo.in):
The first line of input contains( ). The next lines each contain integers (each in the range ), describing the final state of the game board. At least two distinct ID numbers will be present in the board.
OUTPUT FORMAT (file multimoo.out):
The first line of output should describe the largest region size claimed by any single cow, and the second line of output should describe the largest region size claimed by any team of two cows.
4 2 3 9 3 4 9 9 1 9 9 1 7 2 1 1 9
In this example, the largest region for a single cow consists of five 9s. If cows with IDs 1 and 9 team up, they can form a region of size 10.