白石と黒石を並べる。白白黒は含まない /「算数にチャレンジ!!」第1189問

問題概略

白い碁石(W)が10個,黒い碁石(B)が 7 個あり,これを横一列に並べます。WWB という部分が 1 ヶ所もないような並べ方は何通りあるでしょうか。

http://www.sansu.org/used-html/index1189.html

解説の pdf も作りました。きれいなレイアウトで読みたい方はこちらをどうぞ。

drive.google.com

全パターン調べる

まずは愚直に全パターン調べます。黒石を一列に並べて,その間と両端に白石を置きます。

 \fbox{$a_1$個のW},\, \mathrm{B},\,\fbox{$a_2$個のW},\, \cdots,\, \mathrm{B},\, \fbox{$a_8$個のW}

白石は全部で 10 個あって,WWB はないので  a_1 a_8 の条件は次のようになります。

  •  a_1+a_2+\cdots+a_8=10
  •  a_1 a_7 は 0 か 1
  •  a_8は 0 以上

これをみたす  a_1 a_8 の組の個数が答えです。mathematica によると 128 通りありました。

   In[]:= AbsoluteTiming[
      eqn = {a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 == 10,
        0 <= a1 <= 1, 0 <= a2 <= 1, 0 <= a3 <= 1, 0 <= a4 <= 1,
        0 <= a5 <= 1, 0 <= a6 <= 1, 0 <= a7 <= 1, a8 >= 0};
      lst = Reduce[eqn, {a1, a2, a3, a4, a5, a6, a7, a8}, Integers];
      ans = Length@lst]
     
   Out[]= {0.0982795, 128}

対称性を利用する

解法その1

手計算で解くにあたって, a_1 a_7 は対等で  a_8 は違うことを利用します。
 a_8=k\ (3\leqq k\leqq 10) と固定しましょう。

 a_1+a_2+\cdots+a_7=10-k

 a_1 a_7 のうちどの  10-k 個を 1 にするか考えると,この方程式の解は  {}_7\mathrm{C}_{10-k} 個です。
これを  k=3 から  k=10 まで足しあわせたものが答えです。

  \displaystyle\sum_{k=3}^{10}{}_7\mathrm{C}_{10-k} =\sum_{l=0}^{7}{}_7\mathrm{C}_{l}\quad (l=10-k)

 =2^7=\boldsymbol{128}

解法その2

 a_1 a_7 を先に決めるともっと楽です。

0 か 1 の値しかとらないので,決め方は  2^7 通り。これらに対して  a_8=10-\sum_{k=1}^7 a_k は自動的に決まります。結局,答えは  2^7=128 です。暗算で答えが出ます。


variee.hatenablog.com