Human Pyramid Are Heavy

A human pyramid is built up by several layers. At the top, there is one person, and each subsequent layer has 1 additional person. Each person is supported by the 2 people that are beneath them.

Consider a 9 layer pyramid, which comprises 45 people. Assuming that all the cheerleaders weigh 128 pounds each, and that the weight is equally distributed amongst both supporters, what is the most weight supported by anyone in this pyramid?


How would you generalize this?

Image credit: Wikipedia Pere Lopez


The answer is 837.

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

5 solutions

Christopher Boo
Jul 13, 2014

Note that the person who supported the most weight is the person in the middle of the ninth row. Give him a name, S S , for Strongest or Superman, whatever you like.

In the eighth row, there are 2 people whom weight is supported by S S . They provide a weight of 64 64 , and there are 2 2 ways for the weight to reach S S . Total weight, 64 × 2 = 128 64\times2=128 .

In the seventh row, there are 3 people whom weight is supported by S S . They provide a weight of 32 32 , and there are 4 4 ways for the weight to reach S S . Total weight, 32 × 4 = 128 32\times4=128 .

In the sixth row, there are 4 people whom weight is supported by S S . They provide a weight of 16 16 , and there are 8 8 ways for the weight to reach S S . Total weight, 16 × 8 = 128 16\times8=128 .

Using the same logic, you will get an equation like this:

64 × 2 + 21 × 4 + 16 × 8 + 8 × 16 + 4 × 30 + 2 × 50 + 1 × 70 + 1 2 × 70 64\times2+21\times4+16\times8+8\times16+4\times30+2\times50+1\times70+\frac{1}{2}\times70

The tricky part is counting the ways for the weight to reach S S . Actually it's pretty simple, just add up the weight from the two people below them.

Ariel Gershon
May 28, 2014

I'll write my general solution first. Suppose there are as many rows as desired, and let n , k n,k be any nonnegative integers with 0 k n 0 \le k \le n . We consider the person in row n n , position k k (start with 0, like in Pascal's Triangle). Let w n , k w_{n,k} represent the weight of the person in that position. Let f ( n , k ) f(n,k) represent the weight supported by the person in that position.

Consider any two people P P and Q Q , say in positions ( a , b ) (a,b) and ( n , k ) (n,k) respectively, such that Q Q is supporting (part of) the weight of P P in the pyramid. Let g ( a , b , n , k ) g(a,b,n,k) represent the proportion of the weight of the person in position ( a , b ) (a,b) that is supported by the person in position ( n , k ) (n,k) . The weight of P P is evenly distributed among the two people in positions ( a + 1 , b ) (a+1,b) and ( a + 1 , b + 1 ) (a+1,b+1) . Therefore (for example) g ( a , b , a + 1 , b ) = g ( a , b , a + 1 , b + 1 ) = 1 2 w a , b g(a,b,a+1,b)=g(a,b,a+1,b+1)=\frac{1}{2} w_{a,b} . Similarly, it can be shown by induction that g ( a , b , n , k ) = 1 2 n a ( n a k b ) w a , b g(a,b,n,k) = \frac{1}{2^{n-a}} \binom{n-a}{k-b} w_{a,b} (the only exception: if a = n a = n and b = k b = k then g ( n , k , n , k ) = 0 g(n,k,n,k) = 0 since a person is assumed to not be supporting their own weight).

Now, let's find which of those values are nonzero for fixed ( n , k ) (n,k) . We must have a n a \le n and 0 k b n a 0 \le k-b \le n-a . Hence 0 b k 0 \le b \le k and b a n k + b b \le a \le n-k+b . Therefore, the total weight supported by person Q Q is: f ( n , k ) = w n , k + b = 0 k a = b n k + b 1 2 n a ( n a k b ) w a , b f(n,k) = -w_{n,k} + \sum_{b = 0}^k \sum_{a = b}^{n-k+b} \frac{1}{2^{n-a}} \binom{n-a}{k-b} w_{a,b}

Note that we subtract w n , k w_{n,k} because a person does not support their own weight.

If we assume that every person's weight is the same (say w w ), then we can simplify this formula a little by letting s = k b s = k - b and t = ( n a ) ( k b ) t = (n - a) - (k - b) :

f ( n , k ) = w ( 1 + s = 0 k t = 0 n k 1 2 s + t ( s + t s ) ) f(n,k) = w \left(-1 + \sum_{s = 0}^k \sum_{t = 0}^{n-k} \frac{1}{2^{s+t}} \binom{s+t}{s} \right)

For this particular problem, we plug in n = 8 , k = 4 n = 8, k = 4 and w a , b = 128 w_{a,b} = 128 for 0 b a 0 \le b \le a , and sure enough the answer is 837 \boxed{837} .

Rahul Mane
May 27, 2014

Unfortunately I don't have a general solution, but for a pyramid of height 9, here we are: Notice first that the entire weight of the 36 people on upper rows will be distributed among people of the bottom row, with the heaviest load on the person in the centre. We now focus on this person: For a given person in the pyramid, we label them to be on row k k , starting from the bottom row k = 0 k=0 , and lateral position m m , starting the count at m = 0 m=0 for the leftmost person from whom there is a diagonal line connecting them to the centre person of the bottom row (so for example, the two central people in row k = 1 k=1 will have positions 0 and 1, and everyone else in row k = 1 k=1 has position m < 0 m<0 or m > 1 m>1 ). Then the person at k , m k, m contributes a weight of ( k m ) × 128 × 2 k \binom{k}{m} \times 128 \times 2^{-k} (we can see this by counting the number of ways this person has some chain of supporters leading down to the central person). Here we exclude k = m = 0 k=m=0 , who contributes no weight to themselves. Then the total weight on the central person is the sum of each contribution from positions m = 0 m=0 to m = k m=k in rows k = 1 k=1 to k = 4 k=4 , plus the contribution from positions m = k 4 m=k-4 to m = 4 m=4 in rows k = 5 k=5 to k = 8 k=8 . The former sum is just 128 times four rows; the latter sum can be done by hand, though there's probably a cleverer way of doing it. The total weight on the central person is then 128 × 4 + 325 = 837 128 \times 4+325=837 . (At this point, you should call some medical help for them.)

Answer is 965 according to the question

SAI KISHORE - 7 years ago

Log in to reply

Here's where this becomes more like legalese than math. What does it mean by "most weight supported by anyone"? Does that include any of the cheerleaders' own weight? If I am holding up a ballerina that weighs 128 pounds, I do not think it's said that I am "supporting 308 pounds" because that includes my own weight. It's said that I'm supporting 128 pounds. It's a fine point, and I support (yes, support) the answer being 837 pounds, although perhaps the wording could have been more precise.

It's unfortunate that a lot of math is marred by squabbles over wording, it makes me wonder if we need to extend Godel's Incompleteness Theorem.

Michael Mendrin - 6 years, 11 months ago

Why is it 965?

Ariel Gershon - 7 years ago
Steven Zheng
Jul 15, 2014

Am I the only person to brute force this? I did omit the side people and worked my way down centre. However, it still took me 3 tries.

I did the same, but I got the correct answer on the first try

Emmanuel Lasker - 6 years, 11 months ago

Log in to reply

Nice. I messed up with the row (row 8). It was a stupid mistake.

Steven Zheng - 6 years, 11 months ago
João Areias
Feb 22, 2019

There are some pretty good solutions here but one more doesn't hurt, right? The weight supported by the arms and knees of each person is half of the weight on each person being supported by them plus its own weight, so the n t h n-th person at layer m m (from top to bottom) supports a weight of:

w m , n = 0.5 ( w m 1 , n 1 + w m 1 , n ) + 128 w 0 , 0 = 128 w_{m, n} = 0.5 \cdot (w_{m-1, n-1} + w_{m-1, n}) + 128 \\ w_{0, 0} = 128

from that, it's easy to iterate over this to get that the weights on the arms and knees of each person in the last row are:

[ 255.5 , 506.0 , 734.0 , 902.0 , 965.0 , 902.0 , 734.0 , 506.0 , 255.5 ] [255.5, 506.0, 734.0, 902.0, 965.0, 902.0, 734.0, 506.0, 255.5]

But since we want to know the weight that the person is supporting, not counting themselves, we can subtract their own weight which gives us 965 128 = 837 965 - 128 = 837 .

To iterate over this I got lazy and simply wrote this python program:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
def weight(m):
    """ 
    Weight on the layer m
    """
    memo_table = [[0. for _ in range(m)] for _ in range(m)]
    memo_table[0][0] = 128.

    for layer in range(m):
        for person in range(layer+1):
            memo_table[layer][person] = 0.5*(memo_table[layer-1][person-1] + memo_table[layer-1][person]) + 128

    return memo_table[m-1]

assert sum(weight(9)) == 128*45
print(weight(9))

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...