Pagini recente » Cod sursa (job #1252494) | Borderou de evaluare (job #3037630) | Cod sursa (job #396866)
Cod sursa(job #396866)
#include <algorithm>
using namespace std;
#define DIM 1<<7
int N, K, X[ DIM ], Y[ DIM ];
int muchie[ DIM ][ DIM ];
int main() {
freopen( "harta.in", "r", stdin );
freopen( "harta.out", "w", stdout );
int i, j;
scanf( "%d", &N );
for( i = 1; i <= N; ++i )
scanf( "%d %d", &X[ i ], &Y[ i ] );
for( i = 1; i <= N; ++i ) {
for( j = 1; j <= N; ++j )
if( j != i && X[ i ] )
if( Y[ j ] && !muchie[ j ][ i ] ) {
++K;
muchie[ i ][ j ] = 1;
--X[ i ];
--Y[ j ];
}
for( j = 1; j <= N; ++j )
if( j != i && X[ i ] )
if( Y[ j ] ) {
++K;
muchie[ i ][ j ] = 1;
--X[ i ];
--Y[ j ];
}
}
printf( "%d\n", K );
for( i = 1; i <= N; ++i )
for( j = 1; j <= N; ++j )
if( muchie[ i ][ j ] )
printf( "%d %d\n", i, j );
return 0;
}