Cod sursa(job #587461)

Utilizator popacamilpopa camil popacamil Data 4 mai 2011 21:48:14
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int v[305][305],minim,pozmin,i,d[305],v1[305],v2[305],k,n,j,poz,schimb;
int main(){
	freopen("grozavesti.in","r",stdin);
	freopen("grozavesti.out","w",stdout);
	scanf("%d",&n);
	for(i=1;i<=n;++i){
		for(j=1;j<=n;++j){
			scanf("%d",&v[i][j]);
			if(i==j){
				d[i]=v[i][j];
			}
		}
	}k=1;
	for(i=1;i<=n;++i){
		minim=20000000;
		poz=0;
		for(j=i;j<=n;++j){
			if(minim>d[j]){
				minim=d[j];
				pozmin=j;
			}
		}
			if(i!=pozmin){
				schimb=minim;
				d[pozmin]=d[i];
				d[i]=minim;
				v1[k]=i;
				v2[k]=pozmin;
				++k;
			}
	}
	printf("%d\n",2*(k-1));
	for(i=1;i<k;++i){
		printf("L %d %d\n",min(v1[i],v2[i]),max(v2[i],v1[i]));
		printf("C %d %d\n",min(v1[i],v2[i]),max(v2[i],v1[i]));
	}
	return 0;
}