Pythonの解くことを前提に与えられた問題なのですが、多分Python以外でも解けると思います。
一応投下させてください。
[問題]
n人の人間の身長が与えられる。
このn人を1列に並ばせるとき、「各々の人間において、自分より身長が高い人間が自分より前に1人以下である」という条件を課した際に、並び方は何通りあるか求めよ。
ただし、同じ身長の人間が複数人いるものとする。

方針だけでもいいので、教えて頂けると幸いです。