给你两个整数 n
和 k
,和两个二维整数数组 stayScore
和 travelScore
。
一位旅客正在一个有 n
座城市的国家旅游,每座城市都 直接 与其他所有城市相连。这位游客会旅游 恰好 k
天(下标从 0 开始),且旅客可以选择 任意 城市作为起点。
每一天,这位旅客都有两个选择:
i
天停留在前一天所在的城市 curr
,旅客会获得 stayScore[i][curr]
点数。curr
前往城市 dest
,旅客会获得 travelScore[curr][dest]
点数。请你返回这位旅客可以获得的 最多 点数。
示例 1:
输入:n = 2, k = 1, stayScore = [[2,3]], travelScore = [[0,2],[1,0]]
输出:3
解释:
旅客从城市 1 出发并停留在城市 1 可以得到最多点数。
示例 2:
输入:n = 3, k = 2, stayScore = [[3,4,2],[2,1,2]], travelScore = [[0,2,1],[2,0,4],[3,2,0]]
输出:8
解释:
旅客从城市 1 出发,第 0 天停留在城市 1 ,第 1 天前往城市 2 ,可以得到最多点数。
提示:
1 <= n <= 200
1 <= k <= 200
n == travelScore.length == travelScore[i].length == stayScore[i].length
k == stayScore.length
1 <= stayScore[i][j] <= 100
0 <= travelScore[i][j] <= 100
travelScore[i][i] == 0
dp[i][j]
is the maximum score that you can achieve in your last i
actions by starting from city j
.