#P2182. 激情对抗赛(hero)

激情对抗赛(hero)

【问题描述】

AYYZ 信息组有 N 个英雄,他们将分成 K 组展开对抗赛。

在他们之中,每个人两两之间对抗均有一个激烈值。当然,两个人之间的激烈值总是相同,比如 A 对 B 的激烈值等于 B 对 A 的激烈值。

我们这样定义两个组之间对抗的激烈值:假如第一组有 x 个人,第二组有 y 人,则两组 的每对英雄之间分别有一个激烈值,那么一共有 x* y 个激烈值。这两组对抗的激烈值就是这x*y 个激烈值中最小的那个。 比如考虑如下分组:

(A,B)对抗(C,D)一共有 2*2=4 个激烈值,若 A-C 激烈值为 3,A-D 激烈值为 2,B-C激烈值为 1,B-D 激烈值为4,则(A,B)组对抗(C,D)组的激烈值为 min{3,2,1,4}=1。 作为对抗赛的安排者,L教主希望所有组两两之间最小的激烈值尽可能大,并请你为他安排。

为了简化问题,你只需输出满足教主愿望的方案的激烈值。

【输入格式】

第 1 行为两个整数 N、K,为英雄的人数和分组的组数。

第 2 行开始有一个 N*N 的整数矩阵,第 i+1 行第 j 列表示第 i 个人与第 j 个人之间的激 烈值。显然英雄们自己没法和自己对抗,所以第 i+1 行第 i 列均为 0。

【输出格式】

第 1 行为一个整数,为满足教主愿望的最大激烈值。

【输入样例】hero.in

3 2
0 1 2
1 0 2
2 2 0

【输出样例】hero.out

2

【输入输出样例说明】

第 1 个人和第 2 个人分成一组,第 3 个人自己一组,此时得到满足教主愿望的激烈值为 2。

【数据范围】

对 30%的数据,N≤10。

对 100%的数据,N≤1000,2≤K≤N,矩阵中的数≤1,000,000,000。