百人一首をしりとりで繋げたら何連鎖までいけるのか
百人一首には全部で100首の歌がある。
これをしりとりで繋げたとき、最大で何首まで歌が繋がるのか、という疑問がふと僕の頭に浮かんだ。
どうしてそんな疑問が浮かんだのかは分からない。
僕はもうすぐ死ぬのかも知れない。
それはさておき、この疑問を問題として把握しやすくするために、少し具体例を出してみよう。
百人一首はそれぞれの歌に番号が付いている。
例えば1番の歌はこれ。
1. 秋の田の かりほの庵の 苫をあらみ
わが衣手は 露にぬれつつ
天智天皇
この歌は『あ』で始まって『つ』で終わっている。
だから仮に、この歌に次の歌をしりとりで繋げる場合は、次の歌は『つ』で始まらなければならない。
例えば、『つ』で始まる次の歌を繋げたとする。
13. 筑波嶺の 峰より落つる みなの川
恋ぞつもりて 淵となりぬる
陽成院
するとこの次に繋げる歌は、『る』で始まらなければならない。
ところが残念なことに、百人一首には『る』で始まる歌は無いから、これ以上は繋げられない。
つまり、この場合は1番と13番の歌の2首が繋がった(2連鎖)ということになる。
こんな感じで、しりとり方式で百人一首の歌を自由に繋げていくとき、最大で幾つの歌を繋げることが出来るだろうか、というのがここで取り上げている問題である。
先ほどの例では1番の歌からしりとりを始めたが、これはあくまでも一例だ。
一番目の歌に何を選ぼうが、その次にどの歌を繋げようがそれは自由。
条件は、歌がしりとりになっていること。
ただそれだけ。
その中で、一番長く繋がるパターンを見つけて下さい、というわけである。
さて、どうやって見つけようか。
漏れなくパターンを拾い上げるためには、総当たり式に繋げていった樹形図を作るのが確実だろう。
樹形図さえ作ってしまえば一目瞭然だ。
だがこれを手作業でやる気はしない。
そこで今回は、Excelでマクロを組んで実行することにした。
(ある意味、これも手作業と言えなくもないが)
こういった樹形図や二分木のような枝探索を繰り返すような処理は、再帰関数を作るのがセオリーだ。
……というわけで、さっそくマクロを組んでみた。
案の定、どツボに嵌って、所要時間、約3時間。
どんだけ時間かけてんだ、俺。
こんなレベルじゃ開発現場では通用しそうにないが、まぁこれは仕事じゃないし、まいっか。
ところで、これを読んでいる貴方は、いったい何連鎖まで歌が繋がると予想しているだろうか。
ちなみに僕の予想は、
「もともと、しりとりをしようとして作られた歌ではないし、そんなに上手く繋がるかよ。3連鎖か、せいぜい4連鎖まで繋がればいい方じゃないか」
というものだった。
さすがに5連鎖までは無理でしょ。
そう思うよね?
思わない?
ところが僕のこの予想は、Excel先生によって大きく覆されることとなった。
では、果たして何連鎖まで歌を繋げることが出来たのか。
それを僕が今から教えてあげよう。
答えは……。
やっぱ教えない!!
……あ、嘘です。ゴメンなさい。
正解は、11連鎖。
え、嘘でしょ?
マジで?
はい、マジです。
最大で11連鎖まで繋がります。
といっても11連鎖の正解は1つじゃなくて、パターンは144通りある。
そのうちの2つを正解例として以下に記しておこう。
(先頭の番号は歌番号)
【正解例1】
41 恋すてふ わが名はまだき 立ちにけり 人知れずこそ 思ひそめしか
48 風をいたみ 岩うつ波の おのれのみ くだけて物を 思ふころかな
19 難波潟 みじかき蘆の ふしの間も あはでこの世を 過ぐしてよとや
59 やすらはで 寝なましものを さ夜ふけて かたぶくまでの 月を見しかな
25 名にし負はば 逢坂山の さねかずら 人に知られて 来るよしもがな
84 ながらへば またこのごろや 忍ばれむ 憂しと見し世ぞ 今は恋しき
50 君がため 惜しからざりし 命さへ 長くもがなと 思ひけるかな
86 なげけとて 月やは物を 思はする かこち顔なる わが涙かな
88 難波江の 蘆のかりねの ひと夜ゆえ みをつくしてや 恋ひわたるべき
15 君がため 春の野にいでて 若菜つむ わが衣手に 雪は降りつつ
13 筑波嶺の 峰より落つる みなの川 恋ぞつもりて 淵となりぬる
【正解例2】
41 恋すてふ わが名はまだき 立ちにけり 人知れずこそ 思ひそめしか
48 風をいたみ 岩うつ波の おのれのみ くだけて物を 思ふころかな
88 難波江の 蘆のかりねの ひと夜ゆえ みをつくしてや 恋ひわたるべき
50 君がため 惜しからざりし 命さへ 長くもがなと 思ひけるかな
86 なげけとて 月やは物を 思はする かこち顔なる わが涙かな
25 名にし負はば 逢坂山の さねかずら 人に知られて 来るよしもがな
19 難波潟 みじかき蘆の ふしの間も あはでこの世を 過ぐしてよとや
59 やすらはで 寝なましものを さ夜ふけて かたぶくまでの 月を見しかな
84 ながらへば またこのごろや 忍ばれむ 憂しと見し世ぞ 今は恋しき
91 きりぎりす 鳴くや霜夜の さむしろに 衣かたしき ひとりかも寝む
87 村雨の 露もまだひぬ まきの葉に 霧立ちのぼる 秋の夕暮れ
ちなみに【正解例1】は樹形図で最初に出てくるパターン、【正解例2】は樹形図で最後に出てくるパターンとなっている。
ここから分かる事は、最大の11連鎖にするためには、出だしの歌は必ず、
41 恋すてふ わが名はまだき 立ちにけり 人知れずこそ 思ひそめしか
でなければならないという事である。
もっと言うと、その次の歌は必ず、
48 風をいたみ 岩うつ波の おのれのみ くだけて物を 思ふころかな
でなければならない事も分かる。
まぁそんな事が分かったところで、人生で得することは何も無いのだが。
……というわけで、「百人一首をしりとりで繋げたら何連鎖までいけるのか」という問題の解答は、「11連鎖」でした。
「だから何だよー」とか言わないのっ!!