#include <bits/stdc++.h>
using namespace std;
int main() {
int N, S, T; cin >> N >> S >> T;
vector<array<int, 3>> in(N);
for (int i =0 ; i < N; i++) {
cin >> in[i][0] >> in[i][1]; in[i][2] = i;
if (in[i][0] > in[i][1]) swap(in[i][0], in[i][1]);
}
sort(in.begin(), in.end());
vector<array<int, 2>> ans(N);
vector<int> sr(T+1,0 ), fr(T+1, 0);
for (int i = 0; i < N; i++) {
int a = in[i][0], b = in[i][1];
if (fr[a] > sr[a]) {
sr[a]++;
fr[b]++;
ans[in[i][2]][0] = b;
ans[in[i][2]][1] = a;
}
else if (fr[b] > sr[b]){
sr[b]++;
fr[a]++;
ans[in[i][2]][0] = a;
ans[in[i][2]][1] = b;
}
else {
fr[b]++;
sr[a]++;
ans[in[i][2]][0] = b;
ans[in[i][2]][1] = a;
}
}
for (int i = 0; i < N; i++) cout << ans[i][0] << " " << ans[i][1]<< "\n";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |