Cod sursa(job #568739)

Utilizator CS-meStanca Marian Ciprian CS-me Data 31 martie 2011 17:22:59
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>
#define MAX 301

FILE *fin=fopen("grozavesti.in","r");
FILE *fout=fopen("grozavesti.out","w");
int a[301][301],min,aux;
int v[602],w[602];
int n,i,j,nr,pmin; 
int main(){
	fscanf(fin,"%d",&n);
	for (i=1;i<=n;i++)
		for (j=1;j<=n;j++)
			fscanf(fin,"%d",&a[i][j]);

	nr=0;

	for (i=1;i<n;i++) {
		min = a[i][i];
		pmin = i;
		for (j=i+1;j<=n;j++) {
			if (a[j][j]<=min){
				min = a[j][j];
				pmin = j;
			}
		}
		if (pmin!=i){
			nr++;
			v[nr]=i;
			w[nr]=pmin;
		}
		aux=a[i][i];
		a[i][i]=a[pmin][pmin];
		a[pmin][pmin]=aux;
	}

	fprintf(fout,"%d\n",2*nr);
	for (i=1;i<=nr;i++) {
		fprintf(fout,"%c %d %d\n",'C',v[i],w[i]);
		fprintf(fout,"%c %d %d\n",'L',v[i],w[i]);
	}

	fclose(fout);
	fclose(fin);
return 0;
}