Cod sursa(job #158108)

Utilizator tudalexTudorica Constantin Alexandru tudalex Data 13 martie 2008 14:13:48
Problema Taramul Nicaieri Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <stdio.h>
const int n_max = 202;
int a[n_max],
    b[n_max],
    sol[n_max*n_max][2];
int n, p, i, j;
int main()
{
	freopen("harta.in","r",stdin);
	freopen("harta.out","w",stdout);
	scanf("%d", &n);
	for (i =1 ; i <= n; ++ i)
		scanf("%d %d", &a[i], &b[i]);
	for (i = 1; i <= n; ++ i)
		for (j = n; j >=1; -- j)
			if ( j != i && b[j] > 0 && a[i] > 0)
			{
				--a[i];
				--b[j];
				sol[++p][0] = i;
				sol[p][1] = j;
			}
	printf("%d\n", p);
	for (i = 1; i <= p; ++ i)
		printf("%d %d\n", sol[i][0], sol[i][1]);
	return 0;
}