Cod sursa(job #557052)

Utilizator Adrian1997Radulescu Adrian Adrian1997 Data 16 martie 2011 13:57:14
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
FILE *f=fopen("grozavesti.in","r");
FILE *g=fopen("grozavesti.out","w");
int n,v[301],nr=0;

struct schimb{
	int a;
	int b;
};
schimb q[1001];

int main(void){
	register int i,j;
	
	fscanf(f,"%d",&n);
	
	int x;
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			fscanf(f,"%d",&x);
			if(i==j)
				v[i]=x;
		}	
	}
	fclose(f);
	
	int min,poz;
	for(i=1;i<n;i++){
		min=v[i];
		poz=i;
		for(j=1+i;j<=n;j++){
			if(v[j]<min){
				min=v[j];
				poz=j;
			}	
		}
		if(i!=poz){
			int aux;
			aux=v[i];
			v[i]=v[poz];
			v[poz]=aux;
			q[++nr].a=i;
			q[++nr].b=poz;
		}
	}
	
	fprintf(g,"%d\n",2*nr);
	for(i=1;i<=nr;i++){
		fprintf(g,"C %d %d\nL %d %d\n",q[nr].a,q[nr].b);
	}
	fclose(g);
	return 0;
}