Cod sursa(job #1305137)

Utilizator costty94Duica Costinel costty94 Data 29 decembrie 2014 16:02:49
Problema Grozavesti Scor 100
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[302][302];
int b[604][3];
int i, j, p, aux, min, ok, m;

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++;
			ok++;
			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++;
		}

	}
	
	fprintf(g, "%d\n", ok);
	if (ok != 0)
	{
		for (i = 1; i <= m - 1; i++)
		{
			if (b[i][1] != 0){
				fprintf(g, "%c %d %d\n", b[i][1], b[i][2], b[i][3]);
			}
			else
				break;
		}

	}
	
	return 0;
}