Pagini recente » Cod sursa (job #1559953) | Autentificare | Cod sursa (job #168044) | Cod sursa (job #3202053) | Cod sursa (job #180006)
Cod sursa(job #180006)
#include <iostream>
#include <fstream>
using namespace std;
int N,
in[100],
out[100];
bool did[100][100];
int main(int argc, char *argv[]) {
FILE *fi = fopen("harta.in", "r");
fscanf(fi, "%d", &N);
int tot(0);
for (int i(0); i < N; ++i) {
fscanf(fi, "%d %d", out+i, in+i);
tot += out[i];
}
fclose(fi);
FILE *fo = fopen("harta.out", "w");
fprintf(fo, "%d\n", tot);
for (int i(0); i < N; ++i)
for (int j(0); (j < N) && (out[i] > 0); ++j)
if ((in[j] > 0) && !did[i][j] && (i != j)) {
fprintf(fo, "%d %d\n", i+1, j+1);
--out[i];
--in[j];
did[i][j] = did[j][i] = true;
}
fclose(fo);
return 0;
}