単調関数を生成する
      概要 この課題の課題は、2つのセット間で単調な数学関数をランダムに生成することです。 入力 入力は2つの正の整数sとnです。 これらの入力を取得した後、プログラムはへのセットからランダムな数学関数を生成します。換言すれば、取り込み「ルール」であるとの間の整数のタプルと、戻るそのような整数です。さらに、次の意味で単調でなければなりません。もしおよび2つのです、このようなタプルすべての座標についても同様で、その後、。f{0,1,...,s-1}n{0,1,...,s-1}fn0s-1fABnA[i] ≥ B[i]if(A) ≥ f(B) 単調関数の正確な分布は、fそのような各関数が生成される正の確率を持っている限り、問題ではありません(完全なRNGを想定)。 出力 出力は、の入力と出力の列挙ですf。それはすべて含まなければならないnとの間の整数のタプルを0し、s-1それぞれが、対応する出力に続いている、いくつかのためにf。正確な出力形式は柔軟です(理由の範囲内)。 例 入力s = 3およびn = 2出力を生成する場合があります (0, 0) 0 (0, 1) 1 (0, 2) 2 (1, 0) 0 (1, 1) 1 (1, 2) 2 (2, 0) 1 (2, 1) 1 (2, 2) 2 セットのすべてのペアが{0, 1, 2}1回だけ含まれ、各ペアの後にはf-value が続きます。単調性条件も満たされます。タプルはここでは辞書式順序で示されていますが、これは必須ではありません。 別の例として、s …