AcWing 1355. 母亲的牛奶
原题链接
中等
逆天暴力枚举递归判断
枚举:
----a倒给b
----a倒给c
----b倒给c
----b倒给a
----c倒给a
----c倒给b
(写代码过程就和写上面*倒给*的过程一模一样,复制)
python代码
aa = [0] + list(map(int,input().split()))
f = [[0 for _ in range(30)] for _ in range(30)]
def dfs(a,b):
if f[a][b]:
return
f[a][b] = 1
c = aa[3] - a - b
if c and a != aa[1]:
if aa[1] - a >= c:
dfs(a+c,b)
else:
dfs(aa[1],b)
if c and b != aa[2]:
if aa[2] - b >= c:
dfs(a,b+c)
else:
dfs(a,aa[2])
if b and c != aa[3]:
if aa[3] - c >= b:
dfs(a,0)
else:
dfs(a,b-aa[3]+c)
if b and a != aa[1]:
if aa[1] - a >= b:
dfs(a+b,0)
else:
dfs(aa[1],b-aa[1]+a)
if a and b != aa[2]:
if aa[2] - b >= a:
dfs(0,a+b)
else:
dfs(a-aa[2]+b,aa[2])
if a and c != aa[3]:
if aa[3] - c >= a:
dfs(0,b)
else:
dfs(a-aa[3]+c,b)
dfs(0,0)
for i in range(aa[2]+1)[::-1]:
if f[0][i]:
print(aa[3]-i,end=' ')