これは、もともとドイツ語TASた課題ですBundeswettbewerb Informatikは(コンピュータサイエンスの連邦競技[?])、高校生のための競争。元の質問とは対照的に、適切な解決策を見つけてドキュメントを作成する必要がある場合は、これを利用してほしい。私は質問をできるだけよく再現するようにしています:
チャレンジ
ヨーロッパの多くの町には、いわゆるツインタウンがあります。今年は特別なジュビリーがあり、EUのツインタウンの各ペアがパートナーシップを祝うフェスティバルを開催します。どの都市でも多くのフェスティバルを開催する必要がないようにするために、各都市には主催できるフェスティバルの数に制限があります。ツインタウンの各ペアが1つのフェスティバルを2つのタウンに1つずつ編成し、どのタウンも許可されているよりも多くのフェスティバルを編成しないように、ツインタウンにフェスティバルを分配することは可能ですか?はいの場合、その方法を説明します。
これは、いくつかの町、そのパートナーシップ、およびフェスティバルの限界の地図です。
パートナーシップhttp://dl.dropbox.com/u/1869832/partnerships.png
必要条件
- プログラムは、両方のテストケースでそれぞれ1分で問題を終了する必要があります。(下記参照)
- 入力形式については、テストケースを参照してください。
解決策がない場合、出力は空である必要があります。それ以外の場合は、次の形式になります。フェスティバルを開催する
a
場合は、ツインタウンのペアごとに1行。city1
b
<city1>, <city2>, <a/b>
要件を満たす最小の文字数のソリューションが優先されます。引き分けの場合、最初に提出されたプログラムが優先されます。
- 通常のコードゴルフ規則が適用されます。
テストケース
元のタスクには2つのテストケースがありました。githubにアップロードしました。
n
ノードに変更する必要があります。ここn
で、都市の予算制限です)よりも効率的です。