問題提起 |
狭い通路があります。通路の中にオオカミが数匹います。ベクトル が与えられます。 | サイズには、左から右にオオカミのサイズが含まれています。 通路が非常に狭いため、一部のオオカミのペアはすれ違えません。より正確には、隣接する 2 匹のオオカミは、そのサイズの合計が maxSizeSum 以下である場合に限り、位置を交換できます。オオカミが通路から出ないと仮定すると、通路内のオオカミの異なる順列の数は何になりますか? 2 つのオオカミは、サイズが同じであっても異なるものとみなされます。 オオカミのペアを 0 回以上交換することによって、最初の順序から取得できるオオカミの順列の数を計算して返します。 |
定義 |
| クラス: NarrowPassage2Easy | | メソッド: count | | パラメータ: vector , int | | 戻り値: int | | メソッド署名: int count(vector size, int maxSizeSum) | | (メソッドがパブリックであることを確認してください) | |
|
| 時間制限 (秒): 2.000 | | メモリ制限 (MB): 256 | | |
制約 |
- | size には 1 から 1 までの値が含まれます6 つの要素 (両端を含みます)。 |
- size | の各要素は 1 から 1,000 までの範囲になります。 | -
maxSizeSum | は 1 から 1,000 までの範囲になります。 |
例 | 0)
| |
| rree | | From {1, 2, 3 } の場合、1 と 2 を交換して {2, 1, 3} を取得できます。ただし、他の順列は取得できません。 | 1) |
| |
| れー れー | | ここで、隣接する 2 匹のオオカミを交換できます。ということで、3つとも! = 6 つの順列が可能です。 | 2) |
| |
| れー | | {1, 2, 3}、{2, 1, 3}、および {2, 3, 1} を取得できます。 | 3) |
| |
| るー | | るーるこれらのオオカミは、サイズは同じでも、すべて異なります。ということで、6つあります!異なる順列が可能です。 | | 4) | |
| りー |
| |
Returns: 60 |
|