描述
公司分配N项工作给N个员工,每个员工只能被分给1项工作,每个人处理工作的时间不同。求完成所有工作所需的最少时间。
输入
第一行输入整数N,代表N个员工,员工编号从1到N(1<=N<=10)
接下来输入一个N*N的二维矩阵task[N][N],其中task[i][j](0<=task[i][j]<=1000)代表第i项工作由j号员工完成所需的时间。
输出
输出一个整数,代表完成所有工作所需的最少时间之和。
样例
输入
6 10 11 12 11 9 11 11 9 10 13 11 12 12 10 11 10 13 9 9 14 9 10 10 11 10 10 9 11 12 11 10 7 10 10 10 8
输出
54
读完题我们发现可以用搜索来做,那用dfs还是bfs呢
我们可以用dfs来做,那么,就要递归,为什么要强调递归呢?因为作者没有设置出口,变成了死递归,作者还没发现,结果把主机烧冒烟了(作者这里运用了夸张的手法)
程序如下:
#include<bits/stdc++.h>
using namespace std;
int a[