Cod sursa(job #337526)

Utilizator ZethpixZethpix Zethpix Data 3 august 2009 21:57:08
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
int main(){
	FILE *f,*g;
	long a[302][302],n,i,j,aux,ok[302],p[302],v[302];
	f=fopen("grozavesti.in","r");
	g=fopen("grozavesti.out","w");
	fscanf(f,"%ld",&n);
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			fscanf(f,"%ld",&a[i][j]);
	for(i=1;i<=n;i++){
		v[i]=a[i][i];
		p[i]=i;
	}
	long nr=0;
	for(i=1;i<=n-1;i++)
		for(j=i+1;j<=n;j++)
			if(v[i]>v[j]){
				aux=v[i];
				v[i]=v[j];
				v[j]=aux;
				aux=p[i];
				p[i]=p[j];
				p[j]=p[i];
			}
	for(i=1;i<=n;i++)
		if(p[i]!=i) nr++;
	fprintf(g,"%ld\n",nr*2);
	for(i=1;i<=n;i++) ok[i]=0;
	if(nr){
		for(i=1;i<=n;i++)
			if(p[i]!=i&&ok[i]==0){
				ok[i]=1;
				ok[p[i]]=1;
				fprintf(g,"C %ld %ld\n",i,p[i]);
				fprintf(g,"L %ld %ld\n",i,p[i]);
			}
			else ok[i]=1;
	}
	fclose(f);
	fclose(g);
	return 0;
}