Cod sursa(job #155997)

Utilizator MirageRobert Sandu Mirage Data 12 martie 2008 12:05:15
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<stdio.h>
#include<stdlib.h>
struct obj{
	int a,b,c;
};
int main () {
	freopen("grozavesti.in","r",stdin);
	freopen("grozavesti.out","w",stdout);
	int n,i,j,nr=0,min,l,c,m[300][300],k,aux;
	obj v[1000];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		for(j=0;j<n;j++)
			scanf("%d",&m[i][j]);
	for(i=0;i<n;i++){
		min=1000000;
		for(j=i;j<n;j++)
			for(k=i;k<n;k++){
				if(m[j][k]<min){
					min=m[j][k];
					l=j;
					c=k;
				}
			}
		if(c!=i){
			v[nr].a='C';
			v[nr].b=i;
			v[nr].c=c;
			nr++;
			for(j=0;j<n;j++){
				aux=m[j][i];
				m[j][i]=m[j][c];
				m[j][c]=aux;
			}
		}
		if(l!=i){
			v[nr].a='L';
			v[nr].b=i;
			v[nr].c=l;
			nr++;
			for(j=0;j<n;j++){
				aux=m[i][j];
				m[i][j]=m[l][j];
				m[l][j]=aux;
			}
		}
	}
	printf("%d\n",nr);
	for(i=0;i<nr;i++)
		printf("%c %d %d\n",(char)v[i].a,v[i].b+1,v[i].c+1);
	return 0;
}