题目链接:
题意:
k*k的矩阵,从每一行中选一个元素加起来,可以得到 kk个和,求前 k 个最小值。
分析:
先把表头都放到优先队列中,每出一个,就从相应的表后面加一个。
1 #include2 3 using namespace std; 4 5 const int maxn = 755; 6 7 int A[maxn][maxn]; 8 9 struct Item {10 int s,b;11 bool operator < (const Item& rhs) const {12 return s > rhs.s;13 }14 };15 16 void merga(int* A,int* B,int* C,int n) {17 priority_queue - Q;18 for(int i=0;i