Cod sursa(job #553357)

Utilizator tudorsTudor Siminic tudors Data 13 martie 2011 22:31:10
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <stdio.h>
#define N 301
using namespace std;
typedef struct {char c,x,y;} REZULTAT;
int n,i,j,A[N][N];
int nrc,l,c,mi;
REZULTAT REZ[5*N];

FILE *f,*g;

void subm(int x)
{
	int i,j;
	l=c=x;
	mi=A[l][c];
	for (i=x;i<=n;++i)
		for (j=x;j<=n;++j)
			if (A[i][j]<mi)
			{
				mi=A[i][j];
				l=i;
				c=j;
			}
}

int main()
{
	f=fopen("grozavesti.in","r");
	g=fopen("grozavesti.out","w");
	
	fscanf(f,"%d",&n);
	for (i=1;i<=n;++i)
		for (j=1;j<=n;++j)
			fscanf(f,"%d",&A[i][j]);
	nrc=0;
	for (i=1;i<=n;++i)
	{
		subm(i);
		if (l!=i)
		{
			nrc++;
			REZ[nrc].c='L';
			REZ[nrc].x=i+'a'-1;
			REZ[nrc].y=l+'a'-1;
		}
		if (c!=i)
		{
			nrc++;
			REZ[nrc].c='C';
			REZ[nrc].x=i+'a'-1;
			REZ[nrc].y=c+'a'-1;
		}
	}
	fprintf(g,"%d\n",nrc);
	for (i=1;i<=nrc;++i)
		fprintf(g,"%c %c %c\n",REZ[i].c,REZ[i].x-'0',REZ[i].y-'0');
	fclose(f);
	fclose(g);
	return 0;
}