Cod sursa(job #190974)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 24 mai 2008 17:47:29
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <algorithm>
using namespace std;

#define Nmax 301
#define IN "grozavesti.in"
#define OUT "grozavesti.out"

int sol,n,a[Nmax][Nmax];
struct schimbare{int c,a,b;};
schimbare sc[Nmax];

int main()
{
	int x;
	freopen(IN, "r",stdin);
	freopen(OUT, "w",stdout);
	scanf("%d", &n);
	for(int i=1;i<=n;++i)
		for(int j=1;j<=n;++j)
			scanf("%d", &a[i][j]);
	a[0][0]=1<<18;
	for(int i=1;i<=n;++i)
	{
		int aux;x=0;
		for(int j=n;j>=i;--j)
			if(a[j][j]<a[x][x])
				x=j;
			
		if(x!=i && x)
		{
			sc[++sol].a=i;
			sc[sol].b=x;
			sc[sol].c='L';
			
			sc[++sol].a=i;
			sc[sol].b=x;
			sc[sol].c='C';
			aux=a[i][i];
			a[i][i]=a[x][x];
			a[x][x]=aux;
		}
	}	
		
	printf("%d\n", sol);
	for(int i=1;i<=sol;++i)
	{
		printf("%c %d %d\n",sc[i].c,sc[i].a,sc[i].b);
	}	
	return 0;
}