Cod sursa(job #553375)

Utilizator tudorsTudor Siminic tudors Data 13 martie 2011 22:44:19
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <stdio.h>
#include <string>
#define N 301
using namespace std;
typedef struct {char c,x,y;} REZULTAT;
int n,A[N][N],z;
int nrc,l,c,mi;
REZULTAT REZ[3*N];

FILE *f,*g;

void citire()
{
	int i,j;
	fscanf(f,"%d",&n);
	for (i=1;i<=n;++i)
		for (j=1;j<=n;++j)
			fscanf(f,"%d",&A[i][j]);
}

void subm(int x)
{
	int i,j;
	l=c=x;
	mi=A[l][c];
	for (i=x;i<=n;++i)
		for (j=x;j<=n;++j)
			if (A[i][j]<mi)
			{
				mi=A[i][j];
				l=i;
				c=j;
			}
}

int main()
{
	f=fopen("grozavesti.in","r");
	g=fopen("grozavesti.out","w");
	citire();
	nrc=0;
	for (z=1;z<=n;++z)
	{
		subm(z);
		if (l!=z)
		{
			nrc++;
			REZ[nrc].c='L';
			REZ[nrc].x=l+'0';
			REZ[nrc].y=z+'0';
		}
		if (c!=z)
		{
			nrc++;
			REZ[nrc].c='C';
			REZ[nrc].x=c+'0';
			REZ[nrc].y=z+'0';
		}
	}
	fprintf(g,"%d\n",nrc);
	for (z=1;z<=nrc;++z)
		fprintf(g,"%c %d %d\n",REZ[z].c,REZ[z].x-'0',REZ[z].y-'0');
	fclose(f);
	fclose(g);
	return 0;
}