Cod sursa(job #386769)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 25 ianuarie 2010 21:28:08
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include<stdio.h>
FILE*f=fopen("grozavesti.in","r");
FILE*g=fopen("grozavesti.out","w");
int n, a[301][301];
int b[300][3];
int i, j,p,aux,min,ok,m,test;

int main () {
	m=1;
	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){
				min=a[j][j];
				p=j;
			}
		}
		if(min!=a[i][i]){
			for(j=1;j<=n;j++){
				aux=a[i][j];
				a[i][j]=a[p][j];
				a[p][j]=aux;
			}
			b[m][1]='c';
			b[m][2]= i;
			b[m][3]=p;
			m++;
			for(j=1;j<=n;j++){
				aux=a[j][i];
				a[j][i]=a[j][p];
				a[j][p]=aux;
			b[m][1]='l';
			b[m][2] = i;
			b[m][3]=p;
			}
			m++;
			ok+=2;
		}
		
	}
	/*for(i=1;i<=n;i++){
		for(j=1;j<=n;j++)
			fprintf(g,"%d ",a[i][j]);
		fprintf(g,"\n");
	}
	*/
	fprintf(g,"%d\n",ok);
	
	if(ok!=0){
	for(i=1;i<=n;i++){
		if(b[i][1]!=0){
			fprintf(g,"%c %d %d\n",b[i][1],b[i][2],b[i][3]);
		}
		else
			break;
	}
		
	}
//	test='C';
	//fprintf(g,"%c ",test);
	fclose(f);
	fclose(g);
	return 0;
}