3 4 5 6 7 8 頂点番号 対応する文字列 接続可能な頂点 1, 2 3, 4 5, 6 7, 8 1, 2 3, 4 5, 6 7, 8 ◼ 長さ k の文字列を頂点として、各頂点の末尾の k−1 文字が、隣接する頂点の先頭 k−1 文字と一致す るように辺を張った有向グラフを考える ◼ 長さ 2^{k-1}+1 で、[1と2のいずれか][3と4のいずれか]…[7と8のいずれか]の頂点を全て通り、始点と 終点が一致するウォークが1つ取れたとする。このとき使用した頂点をすべて削除する →残るグラフは、各頂点の入次数と出次数が1となるグラフであり、いくつかのサイクルに分割できる →サイクルの始点と終点で、元のサイクルと行き先をswapすることでサイクルの長さを徐々に大きくできる (詳しい操作は解説を見てください……) どうやって? 解法