Description
农夫约翰的农场被分成了N*N(2 <= N<= 15)个方格状的小牧场,农场的四周有围栏,但是奶牛们可以在农场内自由活动。
约翰决定修建围栏将奶牛们分开,根据当地的法律,农场内的围栏必须沿水平或垂直方向穿过整个农场,但是不能从小牧场中穿过(只能沿方格的边缘)。约翰的存款最多只能修建k条围栏(1 <= K <= 2N - 2).
约翰想要修建这样的围栏:使得农场中最大的一群奶牛中的奶牛数量尽可能的小(如果两只奶牛不用翻越围栏就能相互到达,那么它们就是同一群奶牛)。告诉你每块小牧场中奶牛的数量,请帮助约翰算出他修建围栏后最大的一群奶牛中奶牛的数量。
。
Input
第一行,两个空格间隔的整数N和K
接下来是一个由整数构成的N*N的矩阵,每个整数代表了一块牧场中奶牛的数量。