USACO 2017 US Open Contest, Silver
Problem 3. Where's Bessie?
Contest has ended.
The overhead image of his farm taken by the camera is described by an $N \times N$ grid of characters, each in the range $A \ldots Z$, representing one of 26 possible colors. Farmer John figures the best way to define a potential cow location (PCL) is as follows: A PCL is a rectangular sub-grid (possibly the entire image) with sides parallel to the image sides, not contained within any other PCL (so no smaller subset of a PCL is also a PCL). Furthermore, a PCL must satisfy the following property: focusing on just the contents of the rectangle and ignoring the rest of the image, exactly two colors must be present, one forming a contiguous region and one forming two or more contiguous regions.
For example, a rectangle with contents
AAAAA ABABA AAABB
would constitute a PCL, since the A's form a single contiguous region and the B's form more than one contiguous region. The interpretation is a cow of color A with spots of color B.
A region is "contiguous" if you can traverse the entire region by moving repeatedly from one cell in the region to another cell in the region taking steps up, down, left, or right.
Given the image returned by FJ's camera, please count the number of PCLs.
INPUT FORMAT (file where.in):The first line of input contains $N$, the size of the grid ($1 \leq N \leq 20$). The next $N$ lines describe the image, each consisting of $N$ characters.
OUTPUT FORMAT (file where.out):Print a count of the number of PCLs in the image.
4 ABBC BBBC AABB ABBC
In this example, the two PCLs are the rectangles with contents
ABB BBB AAB ABB
BC BC BB BC
Problem credits: Brian Dean