# Punch 2000 holes in 2000 polygons with 1000 needles

You have two identical perfectly square pieces of paper. The area of each paper is 1000 units.

On each paper, draw 1000 convex, non-overlapping polygons with all polygons having the same area (exactly 1 unit). Obviously, the polygons are covering both papers completely and edges of paper also serve as edges of some polygons). Polygons may have different shapes and number of sides and the drawing on the first paper is completely different from the drawing on the second paper.

Now put the first paper on top of the second and align paper edges perfectly. Prove that it is always possible to punch a hole in all 2000 polygons with 1000 needles (each needle goes through both papers).

What have I tried?

This problem came from my son who likes to torture his father with difficult problems brought back from his math school. My first try was to steal his clever analysis book while he was sleeping and find the right page in the answer section. Alas, this problem had no solution, which basically means that it's either too simple (and I'm too stupid) or it's too difficult.

So I decided to read some theory and discovered that I had some pretty huge gaps in my math education. This problem is definitely about functions. You have a set of 1000 polygons on one side and a set of 1000 polygons on the other side. I have to prove that there is a bijective function between these two sets. Needles are just lines connecting the dots. However, all my attempts to construct such function ended miserably. I guess there has to be some clever theorem than can be applied to problems like this one but I would have to read a pretty thick book to find it.

Thanks for the hint.

• How do the needles go through the papers, exactly? Does each needle pass through each paper at exactly one point, and, for any given needle, does it have to pass through the same point on each paper? – Tanner Swett Nov 13 '18 at 2:22
• @TannerSwett Yes, you are right. Imagine a needle as a line perpendicular to two squares lying in two parallel planes. – Oldboy Nov 13 '18 at 6:01
• On puzzling.SE a potential answer could be: You only need one needle that you reuse for 2000 wholes :). – Surb Nov 13 '18 at 15:41
• @Surb I should have used 10.000 needles instead of 1.000. I would have got more upvotes :) – Oldboy Nov 13 '18 at 17:17
• I'm confused; why does identity function does not work in this case ? – onurcanbektas Nov 14 '18 at 6:15

## 2 Answers

The clever theorem that can be applied to questions like this one is Hall's theorem.

Construct a bipartite graph, with the vertices on one side being the polygons on the first sheet of paper, and the vertices on the other side being the polygons on the second sheet of paper. Draw an edge between two polygons whenever they overlap.

A perfect matching in this graph is a one-to-one pairing of the polygons on the two sheets such that any two polygons that are paired overlap somewhere. If we find a perfect matching, we can punch the holes: for every pair of polygons in the perfect matching, poke a needle through some part of their overlapping region.

Hall's theorem says that a perfect matching is guaranteed to exist if, for every set $$S$$ of vertices on one side, the set $$N(S)$$ of vertices adjacent to some vertex in $$S$$ satisfies $$|N(S)| \ge |S|$$. In other words, if you pick any $$k$$ polygons on one sheet of paper, there will be at least $$k$$ polygons on the other sheet of paper adjcent to at least one of the ones you picked.

This follows from looking at the areas. An individual polygon has area $$1$$. So the $$k$$ polygons you chose on one sheet have total area $$k$$. On the other sheet, that same region needs at least $$k$$ polygons to cover.

• Do you use the convexity of the polygons somewhere? Or can this assumption be dropped? – Janik Nov 13 '18 at 11:46
• @Janik: Convexity is not required. – Henning Makholm Nov 13 '18 at 11:47
• @HenningMakholm "On each paper, draw 1000 convex, non-overlapping polygons (...)" – Janik Nov 13 '18 at 11:49
• @Janik: Yes, the polygons in the question happen to be convex, but this is not necessary for the result to hold. – Henning Makholm Nov 13 '18 at 11:52
• @HenningMakholm Ah, I misunderstood what you were saying, sorry. Thanks for your clarification. – Janik Nov 13 '18 at 11:55

It is "self evident" that we cannot use fewer than 1000 needles, just to punch a hole in every polygon in a single sheet.

By the pigeon hole principle, if we use more than 1000 needles, then some polygons must have more than one hole in them.

Suppose that punching 1000 holes in 1000 polygons in the upper sheet does not achieve perfect coverage in the lower sheet: not all 1000 polygons receive a hole. That requires that one or more polygons to receive two holes. (Our friend, pigeon hole, again).

Is that possible? Yes it is. For that to happen, all we need is the situation that two needles (necessarily) going through different polygons in the top sheet pierce the same polygon in the bottom sheet.

However, is this unavoidable? No, it isn't. Two needles going through different top polygons are never forced to map to the same bottom polygon. For such a situation to be unavoidable, it would have to be that some lower layer polygon entirely covers two (or more) upper layer polygons. This is ruled out by the key constraint that all polygons have the same area. Therefore the situation is avoidable; no pair of needles have to share the same lower-layer polygon.

• The statement "For such a situation to be unavoidable, it would have to be that some lower layer polygon entirely covers two (or more) upper layer polygons." is not quite true. For example, if polygons A, B, C were entirely covered by polygons P and Q, we'd also get a similar problem. The area constraint rules this out as well, but we do have to check a more general condition. (And then you need a result like Hall's theorem to convince you that this is the only kind of problem.) – Misha Lavrov Nov 14 '18 at 14:55
• @MishaLavrov The straightforward generalization here is that N + k, k > 0 polygons in the upper layer cannot share N polygons in the lower layer. ABCD{E...} cannot be covered by PQR and so on. All those situations are ruled out by the area constraint. N polygons each of unit area cannot cover N + k polygons of unit area. – Kaz Nov 15 '18 at 7:24
• Yes, exactly. Moreover, without Hall's theorem, you do not know that this is the only obstacle. – Misha Lavrov Nov 15 '18 at 15:07