2015 German Collegiate Programming Contest (GCPC)
The computer science Professor Toving Liles loves the floor tiles in his office so much that he wants to protect them from damage by careless students. Therefore, he would like to buy cheap small rectangular carpets from the supermarket and cover the floor such that:
The entire floor is covered.
The carpets do not overlap.
The carpets are rotated arbitrarily.
No carpet is cut into pieces.
But when checking the supermarket’s stock he begins to wonder whether he can accomplish his plan at all. Can you help him?
The first line contains two integers w and h describing the size of his room (1 ≤ w, h ≤ 100). The second line contains an integer c (1 ≤ c ≤ 7), denoting the number of different carpet colours the supermarket has in stock.
Each of the following c lines consists of three integers
hi, which means: the supermarket’s stock contains
ai carpets of size
hi and color i (1 ≤
ai ≤ 7, 1 ≤
wi ≤ 100, 1 ≤
hi ≤ 100).
The supermarket has at most 7 carpets, i.e. sum of
ai ≤ 7.
For the given room dimensions and the supermarket’s stock of carpets, print "yes" if it is possible to cover the room with carpets as specified above and "no" otherwise.
2 4 2 3 1 3 2 2 1
100 100 3 4 42 42 1 100 16 1 32 42