最小花费的旅行


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

There are no comments at the moment.