xkcdスタイルのナラティブチャートを作成する
Randall Munroeは、より象徴的なxkcdストリップの1つで、いくつかの映画のタイムラインを物語チャートで視覚化しました。 (クリックすると拡大します。) 出典:XKCD号657。 映画(またはその他の物語)のタイムラインの仕様を指定すると、そのようなチャートを生成することになります。これは人気のコンテストなので、最も多くの(正味の)投票数を持つ回答が勝ちます。 最小要件 仕様を少し厳しくするために、すべての回答で実装する必要がある機能の最小セットを以下に示します。 入力としてキャラクター名のリストを取得し、その後にイベントのリストを続けます。各イベントは、死にゆくキャラクターのリスト、またはキャラクターのグループのリスト(どのキャラクターが現在一緒にいるかを示す)です。ジュラシックパークの物語をどのようにエンコードできるかの例を次に示します。 ["T-Rex", "Raptor", "Raptor", "Raptor", "Malcolm", "Grant", "Sattler", "Gennaro", "Hammond", "Kids", "Muldoon", "Arnold", "Nedry", "Dilophosaurus"] [ [[0],[1,2,3],[4],[5,6],[7,8,10,11,12],[9],[13]], [[0],[1,2,3],[4,7,5,6,8,9,10,11,12],[13]], [[0],[1,2,3],[4,7,5,6,8,9,10],[11,12],[13]], [[0],[1,2,3],[4,7,5,6,9],[8,10,11,12],[13]], [[0,4,7],[1,2,3],[5,9],[6,8,10,11],[12],[13]], [7], [[5,9],[0],[4,6,10],[1,2,3],[8,11],[12,13]], [12], [[0, 5, 9], [1, 2, 3], [4, 6, 10, 8, 11], [13]], [[0], [5, 9], [1, 2], [3, 11], …