请问用python怎么解?
深搜题
def dfs(x, exp, shop):
a, b = shop[0]
if len(shop)==1:
res.append(exp+a*x**b)
return
for i in range(x+1):
dfs(x-i,exp+a*i**b,shop[1:])
n, m = map(int, input().split())
shop = []
res = []
for i in range(m):
shop.append(list(map(int, input().split())))
dfs(n,0,shop)
print(min(res))