Cod sursa(job #553364)

Utilizator tudorsTudor Siminic tudors Data 13 martie 2011 22:36:26
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>
#include <string>
#define N 301
using namespace std;
typedef struct {char c,x,y;} REZULTAT;
int n,i,j,A[N][N],z;
int nrc,l,c,mi;
REZULTAT REZ[3*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 (z=1;z<=n;++z)
	{
		subm(z);
		if (l!=z)
		{
			nrc++;
			REZ[nrc].c='L';
			REZ[nrc].x=z+'a'-1;
			REZ[nrc].y=l+'a'-1;
		}
		if (c!=z)
		{
			nrc++;
			REZ[nrc].c='C';
			REZ[nrc].x=z+'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;
}