Pagini recente » Cod sursa (job #2519428) | Cod sursa (job #3217007) | Cod sursa (job #3141883) | Cod sursa (job #427159) | Cod sursa (job #3156131)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 103;
int in[NMAX], out[NMAX];
int main() {
int n;
scanf("%d", &n);
int cnt = 0;
for(int i = 1; i <= n; i++) {
scanf("%d %d", &out[i], &in[i]);
cnt += out[i];
}
printf("%d\n", cnt);
for(int i = 1; i <= n; i++) {
vector<pair<int, int>> v;
for(int j = 1; j <= n; j++) {
v.push_back({in[j], j});
}
sort(v.begin(), v.end(), [](pair<int, int> a, pair<int, int> b) {
if(a.first == b.first)
return a.second > b.second;
return a.first > b.first;
});
for(int j = 0; j < n && out[i]; j++) {
if(v[j].second != j+1) {
printf("%d %d\n", i, v[j].second);
in[v[j].second]--;
out[i]--;
}
}
}
}