Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Python profiler results by chuanyao ( 6 years ago )
args = input()
N = int(args.split(" ")[0])
M = int(args.split(" ")[1])
rules = {}
m2 = []
rules[1] = {
'c':0
}
for i in range(2, N + 1):
line = input()
line = line.split(" ")
mode = line[0]
if mode == '1':
rules[i] = {
'p': int(line[1]),
's': int(line[2]),
'c': 0,
'f': False,
'n': 0,
}
else:
rules[i] = {
'p': int(line[1]),
's': int(line[2]),
'c': 0,
'f': True,
'n': int(line[3]),
}
for key in rules:
if key == 1:
continue
if rules[key]['f']:
current_key = key
c_n = rules[key]['n']
while True:
c_n *= rules[current_key]['s']
current_key = rules[current_key]['p']
rules[current_key]['c'] += c_n
if current_key == 1:
break
if rules[current_key]['f']:
break
res = {}
res[1] = M - rules[1]['c']
print(res[1])
for i in range(2, N + 1):
if rules[i]['f']:
res[i] = rules[i]['n'] - rules[i]['c']
else:
res[i] = int(res[rules[i]['p']]/ rules[i]['s'])
print(res[i])
Revise this Paste
Parent: 107167