Pagini recente » Cod sursa (job #1250163) | Cod sursa (job #2768081) | Cod sursa (job #2969089) | Cod sursa (job #2142718) | Cod sursa (job #3281229)
#include <bits/stdc++.h>
#define L 105
using namespace std;
ifstream fin("harta.in");
ofstream fout("harta.out");
struct MS {
int node, in, out;
};
int n, s, in[L];
MS v[L];
bool cmp(const MS &a, const MS &b) {
return a.out > b.out;
}
int main() {
fin >> n;
for (int i = 1; i <= n; i++) {
fin >> v[i].in >> v[i].out;
v[i].node = i;
s += v[i].in;
in[i] = v[i].in;
}
fout << s << "\n";
for (int i = 1; i <= n; i++) {
sort(v + 1, v + n + 1, cmp);
for (int j = 1; in[i] && j <= n; j++)
if (v[j].out && i != v[j].node) {
fout << i << " " << v[j].node << "\n";
in[i]--;
v[j].out--;
}
}
return 0;
}