寒假快到了,同学们都想着回家过年,路近的同学还好说点,坐个大巴就可以回家,但是路远的同学就不一样了,我们班上的同学小明的家就在遥远的东北边陲,他也很想回家,如果坐火车,要很多天,而且还要中转很多次,所以他想看看有没有便宜的航班,然而航班有热线和冷线之分,不一定远就贵,而且也不一定适合小明,当然小明也可以先坐汽车去另外一个城市坐飞机,到达一个城市后也可以转乘别的交通工具回到他家所在的城市。假定给定的航班信息的目的站都可以满足小明的要求,因为小明还要考虑返程机票问题,所以来回机票视同一个价格,请你帮帮小明写一个程序,找出一些价格比较低的航班机票信息,给小明一些辅助答案,供小明选择参考。
为了避免因为表达上可能造成的理解偏差,这里给出出题者认为正确的问题模型,出题者认为这个问题就是一个带权的无向图问题,已知的是权值的邻接矩阵,-1表示两个节点之间没有边,求第K小边的权值。
Input
输入有两部分,第一部分只有一行,共有两个整数n(1<=n<=100)和k(k>=1),其中n表示城市个数;第二部分共有n行,每行共n个整数,表示城市之间的航班的机票价格;如果价格是-1,表示这两个城市之间没有小明所喜欢的航班。
Output
输出第k低价的航班机票价格,如果没有,请输出:“Error !”。
Sample Input
4 3
-1 100 150 90
100 -1 110 -1
150 110 -1 70
90 -1 70 -1
Sample Output
100
#include<bits/stdc++.h>
using namespace std;
int n,k;
long