Cod sursa(job #323858)

Utilizator andrici_cezarAndrici Cezar andrici_cezar Data 13 iunie 2009 21:14:40
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<stdio.h>

FILE *f,*g;

struct vector{long fel;long col;long lin;};

long a[301][301],i,j,c,l,nr,n,x,aux,min;
vector b[90001];

void inter_lc()
{
	for (i=1;i<=n;i++)
	{
		aux=a[x][i];
		a[x][i]=a[l][i];
		a[l][i]=aux;
		aux=a[i][x];
		a[i][x]=a[i][c];
		a[i][c]=aux;
	}
}

int main()
{
	f=fopen("grozavesti.in","r");
	g=fopen("grozavesti.out","w");
	
		fscanf(f,"%ld",&n);
		
		
		for (i=1;i<=n;i++)
			for (j=1;j<=n;j++)
				fscanf(f,"%ld",&a[i][j]);
		
		x=1;
		while (x<=n)
		{
			min=400;
			for (i=x;i<=n;i++)
				for (j=x;j<=n;j++)
					if (a[i][j]<min) { min=a[i][j];c=j;l=i; }
			
		inter_lc();
		if (x!=c)
		{
		nr++;
		b[nr].fel='C';
		b[nr].lin=x;
		b[nr].col=c;
		}
		if (x!=l)
		{
		nr++;
		b[nr].fel='L';
		b[nr].lin=x;
		b[nr].col=l;
		}
		x++;
		}
	
		fprintf(g,"%ld\n",nr);
		
		for (i=1;i<=nr;i++)
			fprintf(g,"%s %ld %ld\n",b[i].fel,b[nr].lin,b[nr].col);
		
	fclose(g);
	return 0;
}