源码如下:
#include<iostream>
#include<queue>
using namespace std;
const int N = 5e5 + 10;
priority_queue<int, vector<int>, greater<int> >q[N];
int n, m, u, v, times;
int main() {
ios::sync_with_stdio(0);
cin >> times;
for (int i = 0; i < times; i++) {
cin >> n >> m;
for (int j = 0; j < m; j++) {
cin >> u >> v;
q[u].push(v);
}
for (int j = 1; j <= n; j++) {
while (!q[j].empty()) {
cout << q[j].top() << " ";
q[j].pop();
}
cout << endl;
}
}
}
不得不说用优先队列挺方便的。
但是这道题死了,悲。
我不知道问题出在哪里,求助。