Hacker News new | comments | show | ask | jobs | submit login
Cute riddle: Four kids holding one toy balloon (rachum.com)
24 points by cool-RR 1606 days ago | hide | past | web | 42 comments | favorite

Problem with puzzles like this - if you see the answer quickly, what do you do? Any conversation fills up with uninformed, idle speculation, then someone kills it with the answer, then it's kind of all over.

What would be interesting would be to have a site that solved the problem of puzzle sharing and cooperation. Has anyone done that?

You know, that would make an awesome riddle... How do you pose a riddle and only accept answers that won't stop the discussion about the riddle...

It's called "NoScript". I have yet to see the solution on the site :D

Crowdsourced "spoiler" button that hides the answer to everyone unless they choose to reveal it ?

That riddle is NP-hard

I think you are supposed to simply share it. It's the privilege you get for being the first to find the answer. At least that how it works in real life. However on the Internet I guess that mentality doesn't bind well. Hackers are not content with simply knowing the answer. They want of find it themselves. That's an awesome trait in a community.

One of the rules in the weekend event I run - the MathsJam - is that you are not allowed to stop people from enjoying themselves. This is not rigorously enforced, people just buy into it. A consequence is that if people are enjoying a puzzle, and you get the answer, you don't share it immediately.

If it really matters to you then you can write down the solution so others will know you got it first, but most people don't care about the credit, they just love the sharing of puzzles and other fun stuff.

It doesn't seem to work online - there are always those who insist on "sharing" just how clever they are.

>It doesn't seem to work online - there are always those who insist on "sharing" just how clever they are.

To be fair I always love when an "interview question" article shows up and we get 500 versions of fizzbuzz implemented in the most mind bending way possible.

Best I've seen is forums that support spoiler tags, and some heavy moderation to remove people who spoil the fun.

Then it's your turn to pose a riddle.

I used to find these questions amusing and even stimulating but after a decade of getting refused jobs because I couldn't answer questions such as this or some question about pirates to the satisfaction of an interviewer has made me slightly embittered.

And remember, no matter what, there's only one correct answer: the one the interviewer wants to hear. Very rarely do I see a new and correct answer to these puzzle questions provoke a positive response.

I hit the back button and moved on with my life.

[SPOILER] If you're a visual person, the solution is expertly drawn out here: http://i.imgur.com/Jpn1k.png

Of course, this assumes there is no friction or that friction is negligible compared to the upward pull of the balloon...

Or maybe the threads are crossed over the top of the balloon.


Apply this recursively: https://dl.dropbox.com/u/388822/balloon.png

Works for any number of children.

Does this work for odd number of children?

Yes, just tie the last child's string to the last loop.

The odd kid out can hold both ends of a string.


- we have balloons with no rings (just a knot ;-))

- we can't add any rings (cheating!)

- we can make rings out of strings


Solution: 1 string that makes a ring under the balloon, 1 that goes through that ring and has two rings at each end. 1 string through 1 ring for kid #1 and #2, 1 string through the other ring for kid #3 and #4. 4 strings in total ( general function f(N,M) => f(4,1) = 4 )

For 1 balloon an three kids you need 3 strings (1 as a ring under the balloon, 1 string through the ring. One end is held by kid #1, other end is a ring. 1 string through that ring and the ends are hold by kid #2 and #3) f(3,1) = 3. Likewise: f(2,1) = 2 f(1,1) = 1 <= trivial

Now for M balloons with M > 0. For 1 balloon you can have 1 string that makes a ring, for 2 balloons 1 string as well (interconnected). For 3 balloons you need 2 strings from 1 to 2 and from 2 to 3. Ergo: for M balloons you need M-1 strings.

Consider the fact that having 2 balloons or 100 balloons, you only need to attach a string to one of these interconnecting strings to float all the balloons if you release this string.

Hence: M balloons and 2 kids needs the same amount of strings for for example 1 balloon and 2 kids plus the interconnecting strings.

From here it follows that for M > 1 (and N>0) the general function is: f(N,M) = (N-1) + (M-1) (in words: you need M-1 interconnecting strings and one string less than the number of kids)

3D plot: http://www.wolframalpha.com/share/clip?f=d41d8cd98f00b204e98...

One of the possible ways is like http://erikdemaine.org/papers/PictureHanging_FUN2012/

"We show how to hang a picture by wrapping rope around n nails, making a polynomial number of twists, such that the picture falls whenever any k out of the n nails get removed, and the picture remains hanging when fewer than k nails get removed"

The two-nails problem is my favourite nerd-snipe. It can be explained to anyone without a math background, it can be solved on paper, it isn't a "trick" problem, and it isn't immediately easy.

The problem: hang a painting with one unbroken piece of rope going from one corner of the painting to another around two nails such that if either nail is removed the painting will fall.

The balloon has a loop underneath, you then let 2 kids (A and B), hold a thread between them, take a second thread, feed it through the loop, once around the thread between A and B, back through the loop and hands the ends to kid C and D. If any of the kids let go, the thread will unwind and the balloon is free.

I don't really get it. Why would the AB thread go off if any one of the CD let go?

Because the CD thread is the only thing stopping the AB thread from pulling back through the loop.

Ah, you beat me to it - that's exactly the arrangement I posted on the site.

Possible solution (I can't see the comments in the original post; are those facebook comments?). The balloon is attached to a ring, and a thread (A) passes through that ring. This thread has a ring at each end, and these rings are smaller than the ring attached to the balloon.

Finally, a thread passes through each ring of thread A; let's call them threads B1 and B2. Each kid holds one end of threads B1 and B2.

If for example one of the ends of thread B1 is lost by its kid, B1 will slip out of the ring on thread A, and thread A will subsequently slip out of the ring on the balloon. The ballon flies away :)

1: holded

0: not holded

binary AND: ==O--

binary OR: ==>--

So the generalized riddle for any monotone boolean function can be easily solved because all boolean monotone functions can be built up of binary ORs and ANDs.

(Edit: accidentally mixed up OR and AND, fixed now.)

This looks similar to the picture-hanging puzzle, where a picture is hung around a number of nails, and the removal of any one of them will cause the picture to fall.

I believe it is exactly the picture-hanging puzzle, upside-down.

Tie a knot in the thread to the balloon, then trap this knot in the middle of a gap between two twisted threads, the ends of these held by the children.

I think this is related to Borromean ring system - three inseparable rings, yet no two are directly linked to each other. Cut any one ring, and the other two fall apart.


A small, square cloth or net covers the balloon. Each kid holds a string attached to a corner of the net. If just one kid lets go of a corner, the balloon rolls out of the net and into the sky.

The balloon will go in unstable equillibrium in this case.

Feel free to remove/censor/hide my posted solution if you want to keep it going for a while longer. Mind you, there are almost certainly other solutions to this puzzle.

Chain link system.

Each string acts as one chain link. Kid technically could hold both ends of their string, but you could tie it if kid holding one string was an absolute condition.

I find the riddle and the answers amazing! But the answers I saw were only for even number of children. Is there a good solution for odd numbers?

Who says it's the way the thread is arranged? Maybe the helium would lift the other kids up if one decides to let go.

The question did ask how the thread is arranged..

Well, he did write "threads"

> "How are the threads arranged?"

So the whole 4 separate threads idea still holds if we assume the balloon will lift the kids off the ground. That was a bit of a huge hole in the riddle. It should have been noted that the children were immovable anchors. Feynman would have had a field day with this.

Very true :). Some interesting answers here so far!

Easy! Make the balloon large enough to lift N - 1 kids!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact