#CSES2129. 任务分配

任务分配

题目背景

翻译自 CSES-2129 题。

题目描述

一家公司有nn个员工,且有nn个任务需要完成。我们知道每个员工执行每个任务的费用。每个员工必须被分配一个任务。请问,如何最优分配任务,使得总费用最小,并给出任务的具体分配方案。

输入格式

第一行包含一个整数nn:表示员工的数量,同时也表示任务的数量。

接下来的nn行中,每行包含nn个整数,表示每个员工执行每个任务的费用。第ii行中的第jj个整数cijc_{ij}表示第ii个员工执行第jj个任务的费用。

输出格式

首先输出最小的总费用。

然后输出nn行,每行包含两个整数aabb,表示第aa个员工被分配了第bb个任务。

如果有多个最优解,可以输出任意一个。

样例

4
17 8 16 9
7 15 12 19
6 9 10 11
14 7 13 10
33
1 4
2 1
3 3
4 2

样例1解释

最小的总费用是3333。我们可以通过以下分配方案达到最优:

  • 11个员工执行第44个任务,费用为99
  • 22个员工执行第11个任务,费用为77
  • 33个员工执行第33个任务,费用为1010
  • 44个员工执行第22个任务,费用为77

总费用为9+7+10+7=339 + 7 + 10 + 7 = 33

说明/提示

1n2001 \leq n \leq 200

1cij10001 \leq c_{ij} \leq 1000