Cod sursa(job #386813)

Utilizator cnt_tstcont teste cnt_tst Data 26 ianuarie 2010 08:56:56
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#inlcude<stdio.h>
int a[302][302],n,i,j,min,p,k,aux,A[302],B[302],S[302];

int main() {
	FILE*f=fopen("grozavesti.in","r");
	FILE*g=fopen("grozavesti.out","w");
	fscanf(f,"%d",&n);
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			fscanf(f,"%d",&a[i][j]);
		
	for(i=1;i<n;i++){
		min=a[i][i];
		p=i;
		for(j=i+1;j<=n;j++)
			if(a[j][j]<min){
				p=j;
				min=a[j][j];
			}
		if(i!=p)
			//intersc Li cu Lp
			for(k=1;k<=n;k++){
				aux=a[i][k];
				a[i][k]=a[p][k];
				a[p][k]=aux;
			}
			for(k=1;k<=n;k++){
				aux=a[k][i];
				a[k][i]=a[k][p];
				a[k][p]=aux;
			}
			S++;
			A[S]=i;
			B[S]=p;
			
	}
	fprintf(g,"%d",2*S);
	for(i=1;i<=S;i++)
		fprintf(g,"L %d %d\nC %d %d\n",A[i],B[i],A[i],B[i]);
	
	fclose(f);
	fclose(g);
	
	return 0;
}