最小花费的旅行
Submit solution
Points:
200
Time limit:
1.0s
Memory limit:
4M
Author:
Problem type
Allowed languages
C, C++
leetcode 1029
一家公司计划去旅游,员工总共有 2n 个人,旅游的目的地有2个城市,要求每个城市只能去n名员工, 同时公司为了控制旅游成本,要求这次旅游的花费最少。 请你帮公司写一个程序,使旅游成本最少。
给定一个数组 costs,其中 costs[i] = [aCosti, bCosti] 表示: 第 i 个人去 城市 A 旅游的费用是 aCosti,去 城市 B 旅游的费用是 bCosti。
请返回让每个城市刚好有 n 个人 的前提下,所有人去两个城市的最小总费用。
第一行 输入整数n,表示有 n 名员工去旅游。 从第二行到 第n+1行 每一行依次输入 2个整数,分别表示去城市A 和城市B旅游的花费。 输出一个整数,表示满足条件的最小花费。
示例 1:
输入:
4
10 20
30 200
400 50
30 20
输出:
110
解释:
第 1 个人飞去 A,费用 10
第 2 个人飞去 A,费用 30
第 3 个人飞去 B,费用 50
第 4 个人飞去 B,费用 20
总费用 = 10 + 30 + 50 + 20 = 110
这样安排,A 和 B 各有 2 个人。
示例 2:
输入:
6
259 770
448 54
926 667
184 139
840 118
577 469
输出:
1859
示例 3:
输入:
8
515 563
451 713
537 709
343 819
855 779
457 60
650 359
631 42
输出:
3086
约束条件:
\(2 * n == costs.length(保证人数是偶数,每个城市刚好 n 个人)\)
\(2 \le costs.length \le 100\)
costs.length 是 偶数。\(1 \le aCosti, bCosti \le 1000 \)
Comments