Pagini recente » Cod sursa (job #2744695) | Cod sursa (job #695349) | Cod sursa (job #2752135) | Cod sursa (job #917429) | Cod sursa (job #2423273)
#include<stdio.h>
#include <stdlib.h>
#define MAXN 109
int main(){
int i, j, N, v[MAXN][2], edges = 0, last = 0;
freopen("harta.in", "r", stdin);
freopen("harta.out", "w", stdout);
scanf("%d", &N);
for(i = 1; i <= N; i++){
scanf("%d %d", &v[i][0], &v[i][1]);
edges += v[i][0];
if(v[i][0] != 0 && v[i][1] != 0){
last = i;
}
}
printf("%d\n", edges);
for(i = 1; i <= N; i++){
for(j = 1; j <= N; j++){
if(i != j){
if(v[i][0] == 0){
break;
}
if(v[j][1] != 0){
if(edges == 2 && j != last){
printf("%d %d\n", i, last);
printf("%d %d\n", last, j);
i = N + 1;
edges = 0;
break;
}
printf("%d %d\n", i, j);
v[j][1]--;
v[i][0]--;
edges--;
}
}
}
}
return 0;
}