Shortest Path หลายมิติ ใช้ Dijkstra’s algorithm
dp[เมือง][น้ำมัน][ตั๋วพิเศษ] = ค่าใช้จ่ายถูกสุด (price)
โดยมีเงื่อนไขการเปลี่ยน State ตามนี้
dp[new_node][fuel - use_fuel][ticket] = price
dp[node][fuel + 1][ticket] = price + cost[node]
dp[node][fuel_capacity][0] = dp[node][*][1]