第387問の解答
問題[場合の数]
左図のような一本道のA地点にマサルさんがいます。定例呑み会後で酔っ払っているマサルさんは、1秒ごとに右か左のどちらかに一歩進みます。
では、マサルさんがA地点を出発点にして8秒間歩くとき、その途中で1度以上A地点に戻っているような歩き方は何通りあるでしょうか。ただし、マサルさんの「一歩」は常に一定の長さであるものとします。
解答例1
ほげさん、UnderBirdさん、M.Hossieさん、寝不足文君さん、遠い山のぽきょぽんさん、linearsupertrainさん、
小学名探偵さん、takaisaさん、あ〜く@旧Nさん、なかさん、他他
A地点へ一度も戻らない場合の数を求めます。
上図のような格子状の経路図で
マサルさんがAから右へ歩く←→経路図で右へ進む
- マサルさんがAから左へ歩く←→経路図で上へ進む
と対応させると、A地点に戻ることは、経路図では対角線AB上の格子点を通ることになります。
従って、これらの格子点を通らない場合を経路図で順に数え上げていくと、
8歩目=1+6+14+14+14+14+6+1=70通り
となります。1歩毎にマサルさんは、右左2通りの歩き方があるので、
8歩目合計=28=256通り
になります。よって、
A地点に1度以上戻る歩き方=256−70=186通り
と求まります。答: 186通り
以上
解答例2
ほげさん、トトロ@Nさん、小西孝一さん、ミミズクはくず耳さん、とまぴょんさん、他多数
初めてA地点に戻るまでの歩数で場合分けします。
2歩でもどるとき ・・・ 1×2×26=128通り
4歩でもどるとき ・・・ 1×2×24= 32通り
6歩でもどるとき ・・・ 2×2×22= 16通り
8歩でもどるとき ・・・ 5×2×20= 10通り
従って、
合計=128+32+16+10=186通り
と求まります。
(参考)一般式 ・・・ 小学名探偵さん、他
本問を2n歩のときに拡張したときの場合をSnとすると、
Sn=22n−2nCn ・・・ (1)
と表すことができます。
これを数学的帰納法で示します。上記より、
Sn=Σ(k=0..n-1){2kCk/(k+1)×22(n-k)-1}
となります。まず、S1=2、および22−2C1 =2より、(1)式は成り立ちます。
(1)式がSnまで成り立つとしたとき、
Sn+1=Σ(k=0..n){2kCk/(k+1)×22(n+1-k)-1}
=Σ(k=0..n-1){2kCk/(k+1)×22(n-k)-1}×4+2nCn/(n+1)×2
=Sn×4+2nCn/(n+1)×2
=(22n−2nCn)×4 +2nCn/(n+1)×2
=22n+2−{2nCn×4(n+1)-2}/(n+1)
=22n+2−{2nCn×(2n+2)(2n+1)}/{(n+1)(n+1)}
=22n+2−2n+2Cn+1
となり、Sn+1についても(1)式が成り立つことになります。以上により、帰納法にて(1)式が成り立つことが示されました。
(別解)
(1)式から、解答例1で求めたA地点へ一度も戻らない場合の数と、
ちょうど2n歩でA地点に戻る場合の数2nCn が等しいことが分かります。このことについても小学名探偵さんは経路図の乗り換え法(参考:第330問)を応用して示されました 。当初、当方の理解不足で掲載することを断念しましたが、ようやく理解できましたので、こちらに掲載いたしました。
よろしくお願いいたします。
(その他の解法)
- プログラムで求める ・・・ kasamaさん、ziziさん、 他