コンデンサは高い公差で製造されていることで有名です。これは多くの場合許容されますが、許容範囲の厳しいキャパシティが必要になる場合があります。必要な正確な値で容量を取得する一般的な戦略は、慎重に測定した2つのコンデンサを並列に使用して、容量が必要な範囲内になるようにすることです。
この課題の目標は、(複数の)容量のセットが与えられ、各ペアの合計容量が所定の範囲内になるようにコンデンサをペアにすることです。また、最適なペアリングのセット、つまり、できるだけ多くのペアが見つかるようなペアリングのセットを見つける必要があります。
制約
- 入力は選択した形式で構成されます
- 持っているコンデンサの(複数の)セットを表す容量の順序なしリスト
- ターゲット範囲の下限と上限を表す容量のペア(包括的)
- 入力のすべての容量は2 30より小さい正の整数であり、単位はpFです(それは重要ではありません)。
- 入力の容量のリストに加えて、所有するコンデンサのセットには、値が0 pFのコンデンサが無限に含まれています。
- 出力は、各ペアの合計が指定されたターゲット範囲内になるように、容量のペアのリストを選択の形式で構成します。ペアの順序もペア内の容量の順序も指定されていません。
- 出力の容量は、お持ちのコンデンサのセットよりも頻繁に表示されることはありません。つまり、出力するペアは重複してはなりません。
- プログラムが生成する出力よりも多くの容量のペアを含む、条件4および5を満たす出力はありません。
- プログラムはO(n!)時間で終了します。nは、所有するコンデンサのセットを表すリストの長さです
- 抜け穴は悪用されない
- 目標範囲は空であってはなりません
得点
スコアは、オクテット単位のソリューションの長さです。ソリューションがこの問題を多項式時間O(のn のkいくつかのために)のk、これは実際に可能であるならば、私は知らない10であなたのスコアを分割します。
サンプル入力
範囲100〜100、入力配列
100 100 100
、有効な出力:0 100 0 100 0 100
範囲100〜120、入力配列
20 80 100
、有効な出力:0 100 20 80
出力
20 100
は無効です範囲90〜100、入力配列
50 20 40 90 80 30 60 70 40
、有効な出力:0 90 20 80 30 70 40 60 40 50
範囲90〜90、入力配列
20 30 40 40 50 60 70 80 90
、有効な出力:0 90 20 70 30 60 40 50
範囲90〜110、入力配列
40 60 50
、有効な出力:40 60
a <= b <= c <= d
、このようなa + d, a + c, b + d
範囲内のすべてのですが、b + c
ありませんが、それは矛盾を与えるを。