Cod sursa(job #116489)

Utilizator hadesgamesTache Alexandru hadesgames Data 18 decembrie 2007 18:28:26
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>
struct ceva
{
	char c;
	int x,y;
};
ceva d[2000];
int b[1000],c[1000],a[1002][1002],n,k,nr,m;
FILE *in,*out;
int main()
{
	int i,x,y,j,min;

	in=fopen("grozavesti.in","r");
	out=fopen("grozavesti.out","w");
	fscanf(in,"%d",&n);
	for (i=1;i<=n;i++)
	{
		for (j=1;j<=n;j++)
		{
			fscanf(in,"%d",&a[i][j]);
			if (j==i)
			{
				b[i]=a[i][j];
				c[i]=j;
			}
			if (j>i&&a[i][j]<b[i])
			{
				b[i]=a[i][j];
				c[i]=j;	
			}
		}
	}
	for (i=1;i<=n;i++)
	{
		min=b[i];
		x=i;
		y=c[i];
		for (j=i+1;j<=n;j++)
			if (b[j]<min)
			{
				min=b[j];
				x=j;
				y=c[j];
			}
		if (x!=i)
		{
			nr++;
			d[nr].c='L';
			d[nr].x=x;
			d[nr].y=i;
		}
		if (y!=i)
		{
			nr++;
			d[nr].c='C';
			d[nr].x=y;
			d[nr].y=i;
		}
	}
	fprintf(out,"%d\n",nr);
	for (i=1;i<=nr;i++)
		fprintf(out,"%c %d %d\n",d[i].c,d[i].x,d[i].y);
	fclose(in);
	fclose(out);
	return 0;
}