はじめに CodeIQという所で週次で出題される ( 最近再開された ) 「今週のお題」シリーズに解答しましたので、ネタバレです。 codeiq.jp 問題 既に問題は公開終了していますから、概要を。 入力値 ( nとします ) に対して、n段の階段と、そこに1人 or 複数の人 ( 同じ段には重複しない ) がいる場面を考えます。 1回の移動で、直下の段が空いている段の人は1段降り、そうでない人は留まります。一番下の段の人は ( 降り切ったということで ) いなくなります。 そうして、何回の移動で全員が階段を降りることができるかを考え、「n段の階段でありうる人の配置」全てに対する回数の和を求めます。 例えばですが、4段で ○×○○ という配置 ( 右の方が低、○が人のいる段を表す ) の場合、 ○×○○→×○○×→×○×○→××○×→×××○**→×××× で5回という数え方になります。