■ 题目描述
微商模式比较典型,下级每赚 100 元就要上交 15 元,给出每个级别的收入,求出金字塔尖上的人收入。
比如:
(代理商代号) (上级代理商代号) (代理商转的钱)
1 0 223
2 0 323
3 2 1203
输出
0(金字塔顶代理商)
105 (最终的钱数)
解释:
2的最终收入等于323 + 1203//100*15=323 + 180
0的最终收入等于(323 + 180 + 223)//100 * 15 = 105
#模拟数据输入
n =['1 0 223','2 0 323','3 2 1203']
#正式代码
id_dic = {}
up_dic = {}
if __name__ == '__main__':
import collections
id_dic = {}
maps ={}
up_dic = collections.defaultdict(list)
for i in n:
arr = list(map(int, i.split(" ")))
# 记录ID 的 上级ID
maps[arr[0]] = arr[1]
id_dic[arr[0]] = arr[2]
up_dic[arr[1]].append(arr[2])
for id in id_dic :
if id in up_dic:
id_dic[id] += sum(up_dic[id])//100*15
up_id = min(up_dic)
ans = 0
for m,val in maps.items():
if val == up_id:
ans += id_dic[m]//100*15
print(up_id)
print(ans)