2331. [图论基础与应用]最优的挤奶方案

农场主John将他的 K(1≤K≤30) 个挤奶器运到牧场,在那里有 C(1≤C≤200) 头奶牛,在奶牛和挤奶器之间有一组不同长度的路。K 个挤奶器的位置用 1~K 的编号标明,奶牛的位置用 K+1~K+C 的编号标明。每台挤奶器每天最多能为 M(1≤M≤15) 头奶牛挤奶。 编写程序,寻找一个方案,安排每头奶牛到某个挤奶器挤奶,并使得 C 头奶牛需要走的所有路程中的最大路程最小。每个测试数据中至少有一个安排方案。每头奶牛到挤奶器有多条路。

输入

测试数据的格式如下。第 1 行为 3 个整数 KCM。 第 2~K+C+1 行,描述了奶牛和挤奶器(二者合称实体)之间的距离,每行有 K+C 个整数,这 K+C 行构成了一个沿对角线对称的矩阵。第 2 行描述了第 1 个挤奶器距离其他实体的距离……第 K+1 行描述了第 K 个挤奶器距离其他实体的距离;第 K+2 行描述了第 1 头奶牛距离其他实体的距离……这些距离为不超过 200 的正数。实体之间如果没有直接路径相连,则距离为 0。实体与本身的距离(即对角线上的整数)也为 0

输出

输出一个整数,为所有方案中C头奶牛需要走的最大距离的最小值。

样例

标准输入 复制文本
2 3 2
0 3 2 1 1
3 0 3 2 0
2 3 0 1 0
1 2 1 0 2
1 0 0 2 0
标准输出 复制文本
2
登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 1
通过 1