Pagini recente » Cod sursa (job #524046) | Cod sursa (job #650617) | Cod sursa (job #1677389) | Cod sursa (job #1654523) | Cod sursa (job #2962513)
#include <fstream>
using namespace std;
ifstream fin("harta.in");
ofstream fout("harta.out");
int main() {
int N, S = 0, in[105], out[105];
int mat[105][105], freq[105];
fin >> N;
for(int i = 1; i <= N; i++) {
fin >> in[i] >> out[i];
S += in[i];
}
fout << S << '\n';
for(int i = 1; i <= N; i++) {
fill(freq + 0, freq + N + 1, 0);
for(int j = 1; j <= N; j++) {
if(out[j] && i != j) {
mat[out[j]][++freq[out[j]]] = j;
}
}
for(int j = 1; j <= N; j++) {
for(int it = freq[j]; it != 0 && in[i] != 0; it--) {
int nod = mat[j][it];
in[i]--;
out[nod]--;
fout << i << " " << nod << '\n';
}
}
}
return 0;
}