Cod sursa(job #414325)

Utilizator titusuTitus C titusu Data 9 martie 2010 22:26:55
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
using namespace std;
#include <fstream>
#include <iostream>

int a[310][310],n,m[610][3],nrm;

void afis(){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)
			cout<<a[i][j]<<" ";
		cout<<endl;
	}
}

int main(){
	ifstream fin("grozavesti.in");
	fin>>n;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			fin>>a[i][j];
	//afis();cout<<endl;
	for(int i=1;i<n;++i){
		int p=i;
		for(int j=i+1;j<=n;++j)
			if(a[j][j]<a[p][p])
				p=j;
		if(p!=i){
			nrm++;
			m[nrm][0]=0;//linie
			m[nrm][1]=i , m[nrm][2]=p;
			int aux;
			for(int j=1;j<=n;j++)
				aux=a[i][j],a[i][j]=a[p][j],a[p][j]=aux;
			for(int j=1;j<=n;++j)
				aux=a[j][i],a[j][i]=a[j][p],a[j][p]=aux;
			nrm++;
			m[nrm][0]=1;//coloana
			m[nrm][1]=i , m[nrm][2]=p;
			//afis();cout<<endl;
		}
	}
	ofstream fout("grozavesti.out");
	fout<<nrm<<endl;
	for(int i=1;i<=nrm;++i)
		fout<<(m[i][0]==0?'L':'C')<<" "<<m[i][1]<<" "<<m[i][2]<<endl;
	
	return 0;
}