まくつくり
く_く_く
らくばくち
く_く_く
どくふくろ
↑
魔窟、旁、落馬、博打、読譜、袋、
枕、筑波、陸地、楽土、幕府、築炉
のように、
真ん中が「く」の平仮名三文字の言葉を「田」の形に並べる
(ただし、「く」で繋がれる文字は互いに異なるものとする。)
にはどうすればよいでしょうか?
以下のコードは、
皆様が回答されるうえで何か役に立つかもしれないので
載せておきます。
lang
1# -*- coding: cp932 -*- 2words = [ 3'あくび', 'あくま', 4'いくじ', 'いくら', 5'えくぼ', 6'おくて', 'おくば', 7'かくご', 'かくさ', 'がくし', 'かくほ', 'かくり', 8'ごくい', 'こくし', 9'さくが', 'さくし', 'さくら', 'ざくろ', 10'しくみ', 11'すくい', 12'そくい', 13'たくじ', 'たくち', 14'ちくま', 'ちくろ', 'ちくわ', 15'つくし', 'つくば', 'つくり', 16'てくだ', 17'とくぎ', 'とくし', 'どくふ', 'どくろ', 18'はくい', 'はくし', 'ばくし', 'ばくち', 'ばくふ', 'ばくろ', 19'びくに', 20'ふくい', 'ふくし', 'ふくつ', 'ふくろ', 21'ぼくし', 'ほくろ', 22'まくつ', 'まくら', 23'もくじ', 'もくず', 24'やくみ', 'やくめ', 25'らくだ', 'らくど', 'らくば', 26'りくち' 27] 28 29ary = ['ち', 'つ', 'ど', 'ば', 'ふ', 'ま', 'ら', 'り', 'ろ'] 30 31ary.permutation(9){|a| 32 i = 0 33 while (words.include?(a[i] + 'く' + a[i + 1]) || i % 3 == 2) && i < 7 34 i += 1 35 end 36 if words.include?(a[i] + 'く' + a[i + 1]) 37 j = 0 38 while words.include?(a[j] + 'く' + a[j + 3]) && j < 5 39 j += 1 40 end 41 if words.include?(a[j] + 'く' + a[j + 3]) 42 (0..2).each{|k| 43 puts a[3 * k] + 'く' + a[3 * k + 1] + 'く' + a[3 * k + 2] 44 puts 'く く く' if k < 2 45 } 46 puts '' 47 end 48 end 49}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。