Cod sursa(job #557068)

Utilizator Adrian1997Radulescu Adrian Adrian1997 Data 16 martie 2011 14:04:49
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
#define DIM 100001
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[DIM];

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;
			nr++;
			q[nr].a=i;
			q[nr].b=poz;
			aux=v[i];
			v[i]=v[poz];
			v[poz]=aux;
		}
	}
	
	fprintf(g,"%d\n",2*nr);
	for(i=1;i<=nr;i++){
		fprintf(g,"C %d %d\nL %d %d\n",q[i].a,q[i].b,q[i].a,q[i].b);
	}
	fclose(g);
	return 0;
}