Knitpicking
InterviewTime limit1sMemory limit1024 MB
Given groups of socks with a type and a fit (left, right, any), find the minimum number of socks that must be drawn to guarantee a matching pair, or report impossible.
- Level
Medium4 of 10
- Topics
- Greedy, Math, Implementation
- Solved
- No attempts yet
Problem
Kattis has many pairs of nice, warm, knit socks in her sock drawer that are perfect for the winter. These socks come in a wide range of colours and types, and have all been mixed together. Each morning Kattis needs to pick two matching socks.
To find matching socks, she simply randomly takes single socks out of the drawer until she has a matching pair. It may take a long time, for example when she keeps drawing right socks without a matching left one. How long does she need to keep drawing socks until she is guaranteed to have a pair to wear?
Input
The input consists of:
-
One line with an integer (), the number of groups of identical socks.
-
lines, each describing a group of identical socks with the following:
- A string , the type of the socks in the group. The type consists of between 1 and 20 lowercase English letters. Socks with the same type are considered compatible for fashion purposes.
- A string , the fit of the socks in the group, which is either
left,rightorany, indicating whether the socks fit on the left foot, the right foot or any foot. - An integer (), the number of socks in the drawer that are of this type and fit.
A given fit of a given type of sock appears at most once in the input.
Output
Output the minimum number of socks Kattis needs to draw to be guaranteed to get a matching pair. If it is not possible to get a matching pair at all, output impossible.