add lua & complete 14501, 14888

This commit is contained in:
2021-02-16 02:17:54 +09:00
parent f4f2dfd1f6
commit 4f89ab1c51
6 changed files with 71 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
N = int(input())
D = [tuple(map(int, input().split())) for i in range(N)]
T = []
def progress(day, cost):
if day == N:
T.append(cost)
return
elif day > N:
return
if D[day][0] == 1:
progress(day + 1, cost + D[day][1])
else:
progress(day + D[day][0], cost + D[day][1])
progress(day + 1, cost)
progress(0, 0)
print(max(T))

View File

@@ -0,0 +1,44 @@
N = int(input())
ns = list(map(int, input().split()))
ops = list(map(int, input().split()))
stack = []
traces = []
def calc(ind, a, b):
if ind == 0:
return a+b
elif ind == 1:
return a-b
elif ind == 2:
return a*b
elif ind == 3:
return int(a/b)
_ops = ops[:]
for i, v in enumerate(ops):
if v == 0:
pass
else:
_ops[i] = _ops[i] - 1
stack.append((1, _ops, calc(i, ns[0], ns[1])))
_ops = ops[:]
while stack:
d, o, n = stack.pop()
if not any(o):
traces.append(n)
else:
_ops = o[:]
for i, v in enumerate(o):
if v == 0:
pass
else:
_ops[i] = _ops[i] - 1
stack.append((d+1, _ops, calc(i, n, ns[d+1])))
_ops = o[:]
print(max(traces))
print(min(traces))