Cod sursa(job #672497)

Utilizator danielirimiaIrimia Daniel danielirimia Data 2 februarie 2012 12:27:26
Problema Elimin Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
int a[100][100];
void linie(int &o, int p,int &u)
{
	int q,y,e,t;
	e=a[1][0];
	t=1;
	for (q=2;q<=0;q++)
		if(e>a[q][0])
		{
			e=a[q][0];
			t=q;
		}
	for ( q=t;q<o;q++)
		for (y=1;y<=p;y++)
			a[q][y]=a[q+1][y];
	u=u-e;
	o--;
}
void coloana(int z, int &v, int &b)
{
	int h,x,f,d;
	f=a[0][1];
	d=1;
	for(h=2;h<=v;h++)
		if (f>a[0][h])
		{
			f=a[0][h];
			d=h;
		}
	for(h=d;h<v;h++)
		for (x=1;x<=z;x++)
			a[x][h]=a[x+1][h];
	b=b-f;
	v--;
}
int main()
{
	int m,n,r,c,i,j,S=0,k,s,l,q;
	f>>m>>n>>r>>c;
	for(i=1;i<=m;i++)
		for(j=1;j<=n;j++)
		{
			f>>a[i][j];
			S=S+a[i][j];
		}
	for (i=1;i<=r;i++)
	{
		for (k=1;k<=m;k++)
		{
			s=0;
			for(l=1;l<=n;l++)
				s=s+a[k][l];
			a[k][0]=s;
			q=a[k][0];
		}
		s=0;
		for (l=1;l<=n;l++)
		{
			for (k=1;k<=m;k++)
				s=s+a[k][l];
			a[0][l]=s;
			s=0;
		}	
		linie(m,n,S);
	}
	for (i=1;i<=c;i++)
	{
		for (k=1;k<=m;k++)
		{
			s=0;
			for(l=1;l<=n;l++)
				s=s+a[k][l];
			a[k][0]=s;
		}
		s=0;
		for (l=1;l<=n;l++)
		{
			for (k=1;k<=m;k++)
				s=s+a[k][l];
			a[0][l]=s;
			s=0;
		}	
		coloana(m,n,S);
	}
	g<<S;
	return 0;
}