Cod sursa(job #116239)

Utilizator mithyPopovici Adrian mithy Data 18 decembrie 2007 00:25:48
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <stdio.h>
#define NMax 305
#define INF 30000

long n, a[NMax][NMax], smax;
struct sol
{
	int x1, y1;
	int x2, y2;
}s[NMax];

void citire();
void rez();

int main()
{
	citire();
	rez();
	return 0;
}
void rez()
{
	FILE *g = fopen( "grozavesti.out", "wt" );
	int i, j, k, min, aux, x, y;

	for (i=0; i<n-1; i++)
	{
		min = INF;
		for (k=i; k<n; k++)
			for (j=i; j<n; j++)
				if ( a[k][j] < min )
				{
					min = a[k][j];
					x = k;
					y = j;
				}

		if ( x != i || y != i )
		{
			s[smax].x1 = i; s[smax].y1 = x;
			s[smax].x2 = i; s[smax].y2 = y;
			smax++;
		}
	}

	fprintf( g, "%ld\n", smax*2 );
	for (i=0; i<smax; i++)
	{
		fprintf( g, "C %d %d\n", s[i].x2+1, s[i].y2+1 );
		fprintf( g, "L %d %d\n", s[i].x1+1, s[i].y1+1 );
	}
	fclose(g);
}
void citire()
{
	int i, j;
	FILE *f = fopen( "grozavesti.in", "rt" );
	fscanf( f, "%ld", &n );
	for (i=0; i<n; i++)
		for (j=0; j<n; j++)
			fscanf( f, "%ld", &a[i][j] );
	fclose(f);
}