编辑代码

def optimize_tour(days, times, scores):
    n = len(times)
    dp = [[0] * (days + 1) for _ in range(n + 1)]

    for i in range(1, n + 1):
        for j in range(1, days + 1):
            if times[i - 1] <= j:
                dp[i][j] = max(dp[i-1][j], dp[i-1][j-times[i-1]] + scores[i-1])
            else:
                dp[i][j] = dp[i-1][j]

    return dp[n][days]

def main():
    days = 4
    times = [1, 2, 3, 1]
    scores = [7, 8, 9, 6]

    result = optimize_tour(days, times, scores)
    print(f"最大价值为: {result}")

if __name__ == "__main__":
    main()