最終的に3位でした*1。問題概要H*Wのマスと文字列集合が与えられる。各マスにアルファベットを配置して、与えられた文字列集合からなるクロスワードパズルを作れ。アルファベットが2つ以上連続している個所はすべて文字列集合に含まれている必要があり、かつ、各文字列は一度までしか使ってはいけない(使ってないものがあってもよい)。アルファベットが配置されてないマスごとにスコアは-1され、各配置された文字列について、その長さをlとおくとfib(l)分だけスコアに加算される。やったこと言葉にするのがしんどいこんな感じでまずは文字列をきれいに交差しないように並べるそのあとに交差するところに置けるかどうかをチェックして置けるなら置く。大事なのは、交差しない段階ではまだその長さの文字列を置くということまでしか決めておらず、交差するときにはじめてどの文字列を使うか決定することで、こうすることで多くの文字列を置けるようになる。交差するように置けないときにもともと置いていたものを少しずらしてみたりするとよい。文字列を配置するときに上下左右どこから埋めていくかで結果が異なるので、いろいろと試したりする(時間は余るため)。検索はてなブログをはじめよう!gasinさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。