0

二分木形式のユーザー階層があります (1 人のユーザーが最大 2 人のユーザーを追加できるため)。以下はサンプル構造です

ユーザー階層

問題

  1. 毎週、支払いを行うために、ログインしているユーザーの比率で、2:1またはログインしているユーザーよりも多く追加されたユーザーの数を計算する必要があります。ratio (赤色で強調表示) は、追加された& 、および追加された を意味します。同様に、比率 (黄色で強調表示) では、持っているだけなので、比率を満たします。1:22:1User AUser B1User B2User B1User C11:2User B2User D1 & D2User D1User E1 & E21:2
  2. したがって、さらにユーザーが追加された場合、最初の週に上記の比率ですでに計算されているユーザーをスキップする必要があります。そして、これは、その週の支払いを計算する際に留意する必要があります.

言い換えれば問題

毎週、私または子階層のメンバーによって直接的または間接的に紹介されたユーザーに支払いを行わなければなりません。支払いの条件は2:1 or 1:2、各メンバーが 2 つの直接メンバーを紹介できることです。

User テーブルには、メンバーの親を追跡するために、自己参照UserIdとして ID と列があります。ParentId必要に応じて、テーブル構造を変更する準備ができています。

4

0 に答える 0