未解決ファイルARCHIVE
FILE No.12155REOPENED

方眼用紙を使って色の塗り分け

論理出題 kikki2010-05-08
事件概要
□□□□
□□□□
□□□□
□□□□

上のような4×4マスの方眼紙を赤・青・黄の3色を使って塗り分ける。上下左右に隣り合うマス同士は違う色を使わなければならない。また一回も使わない色があっても良いとする。このとき色の塗り分けパターンは全部で何通りあるか?数値だけを半角数字で入力して下さい。
|
|
|
|
|
|
|
|
手計算でも出来ないレベルではない…と思いますが(ギリで)、そこそこかなり死ぬぐらい計算量が鬼畜なので電卓使ってくれて良いです(o^-^)o。ちなみに5000通り以上あるので間違っても1つずつ数えようとか思わないように!10000よりは小さいんだけれどね。

出題者は2×4マス、3×4マスの場合も少し別の方法使って計算、それからエクセルで式作って検算してみて全て一致していたので、多分答えに間違いはないと思いますが、変だと思ったらコメントしてくれれば幸いです。

また解答解説で書いた方法よりももっと簡単な方法があるかもしれません、そういう方法があったらこちらもコメントで知らせてくれれば幸いです。
封印された解答を開く
7812
ヒント1、横に2マス・縦にnマスの場合は何通りある?

2、では横に3マス・縦にnマスならどういう法則が成り立つ?

3、ヒント2の場合でA[n+1]=3A[n]+2B[n] B[n+1]=2A[n]+2B[n] という連立漸化式が出来る…はず。これを横四列に応用すると…。
解説上手く纏まらない…ので箇条書きに。

AAAA
BBBB
CCCC
DDDD

上のようにマスをABCDの4列に分けます。まずA列に入れる方法は3*2*2*2=24通り。
それぞれに対してB列に何通り入るか考えます。このときAに入るのが、(赤青赤青)2色だけ(aグループとする)、(赤青赤黄)端と中が同じ色(bグループ)、(赤青黄赤)両端が同じ色(cグループ)
の3方法の入れ方によってB列に入るパターン数が変わってきます。

aグループから次の列へ→aグループが3通り、bが4通り、cが1通り
bグループから→aが2通り、bが4通り、cが1通り
cグループから→aが1通り、bが2通り、cが2通り出来る。

例えば「1212」という配列から出来る次の列は、「2121・2323・3131」のaグループ3つと、「2123・2131・2321・3121」のb4つと、「3123」のc1つ。(123=青赤黄に対応)
bの「1213」からは、「2121・3131」のa2つ、「2131・2321・3121・3132」のb4つ、「2132」のc1つ。
cの「1231」からは「2323」のa1つ、「2123・2313」のb2つ、「2312・3123」のc2つ。

として、n列目にaグループが出来る場合に1からn列目までに入る色の組み合わせ総数をa[n]と置けば、(また同様にn列目にbグループ、n列目にcグループが来る場合をb[n]、c[n]とします。)

a[n+1]=3a[n]+2b[n]+c[n]
b[n+1]=4a[n]+4b[n]+2c[n]
c[n+1]=a[n]+b[n]+2c[n]
a[1]=6 b[1]=12 c[1]=6
という漸化式が出来て、これにn=1〜3まで代入して計算すると、
a[2]=48 b[2]=84 c[2]=30
a[3]=342 b[3]=588 c[3]=192
a[4]=2394 b[4]=4104 c[4]=1314で 答えはその合計の7812通り!

捜査データ

解答数
79
歴代 14439位 / 16,274
正解数
6
正解率
8%
論理カテゴリ平均 19%
評価
★★★★★
10 pt / 歴代 2462位
Good / Bad
7 / 0
評価ボタンの投票
コメント
6
証言記録
正解率
8%
縦線 = カテゴリ平均

証言記録 (6)

kikki
(つ´∀`):・’.::・====≡つ)´Д`):∵>キョンシーさん

ってゆうか…マクロってそんな計算も出来るんですか…?(←マクロの使い方を良く知らない自分)。まぁでもこれで答え自体は正確に合ってるんだな…と一安心とか…。

まぁ連立漸化式作らないと解けないような問題だしてる自分もどうかとは思いますがw(←でも一般項求めさせる訳じゃないし、知識がないと出来ない訳ではないかな…と。)
kikki
あるぇwwwキョンシーさんのコメントが消えてた/(^o^)\
kikki
あ、あと、既に消えてしまった幽霊レスへコメントですが、「跳ね返るボールの問題」の方もそのまま残しといて貰って構わないですよー。
残り3件の証言をすべて表示
kikki
やっぱり連立漸化式の説明ぐらいしといた方が良いですね。

例えば、良く解らない生命体Aと、良く解らない生命体Bが存在して、1日ごとに生命体Aは1つのAと2つのBに分裂し、生命体Bは1つのAと3つのBに分裂します。(A→(1日後)→A+2B、B→(1日後)→A+3B)
すると[]内を経過日数として、AとBの数に間には、
A[t+1]=A[t]+B[t]
B[t+1]=2×A[t]+3×B[t]

という関係式が成り立ちます。そしてこういう式が「連立漸化式」と呼ばれます。これを使って、例えば1日目にはAとBが1つずつ存在していて、1週間後にな何匹になっているか?という問題を考えてみます。(→次のコメントへ続く。)
kikki
(もちろん、一般項を求める方法もあるけれども、高校数学の中でもそろそろ難しいものだと思うので説明略。)

(→前のコメントの続き)、一週間後に何匹になっているか?を求めるためには、記述した連立漸化式にt=1〜6まで順番に代入していけば良いです(結構面倒臭いですが)。まずt=1を代入すると、

A[2]=1+1=2 B[2]=2×1+3×1=5 続いてt=2を代入、
A[3]=2+5=7 B[3]=2×2+3×5=19 これを繰り返していけば、
A[4]=26 B[4]=71 A[5]=97 B[5]=265 A[6]=362 B[6]=989 A[7]=1351 B[7]=3691
となり、1週間後にはAが1351匹、Bが3691匹居ることが解ります。
kikki
こういった「連立漸化式」の考え方を使って、この出題した問題は解けるようになっています。ということです。

勿論、他の方法があるかもしれませんので、そのときはコメント宜しくです。

関連する問題

NEXT CASE

現代版推理ゲーム

未解決ファイルはこちら

▶ 未解決ファイルへ

掲載内容に問題がある場合
削除依頼・お問い合わせはこちら

▶ Googleフォーム