Cod sursa(job #1171899)

Utilizator nimicLeoveanu Mihaita Alexandru nimic Data 16 aprilie 2014 15:41:13
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include<cstdio>
using namespace std;

const int nmax = 306;
int m[nmax][nmax], v[nmax], n, k, maxim, pozmax, vl[nmax], vc[nmax], aux;

inline void inter(int a, int b){
	int aux;

	aux = a;
	a = b;
	b = aux;
}

int main(){
	int player_unu=0;
	freopen("grozavesti.in","r",stdin);
	freopen("grozavesti.out","w",stdout);

	scanf("%d", &n);
	for(int i = 1; i<=n; i++)
	{
		for(int j = 1; j<=n; j++)
		{
			scanf("%d", &m[i][j]);
		}

		v[i] = m[i][i];
	}

	for(int i = n; i>1; i--)
	{
		for(int j = 1; j<=i; j++)
		{
			if(v[j]>maxim)
			{
				maxim = v[j];
				pozmax = j;
			}
		}

		if(pozmax!=i)
			{
				//inter(v[pozmax], v[i]);
				aux = v[pozmax];
				v[pozmax] = v[i];
				v[i] = aux;
				
				vl[k] = i;
				vc[k] = pozmax;
				k++;
			}
		maxim = 0;
	}

	printf("%d\n", 2*k);
	for(int i = 0; i<k; i++)
	{
		printf("L %d %d\n", vl[i], vc[i]);
		printf("C %d %d\n", vl[i], vc[i]);
	}
	return player_unu;
}