Cod sursa(job #69707)

Utilizator a7893Nae Mihai a7893 Data 3 iulie 2007 23:10:09
Problema Elimin Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include<stdio.h>
#define N 35000
int m,n,r,c,a[550][550];
void read()
{
	int i,j;
	scanf("%d%d%d%d",&m,&n,&r,&c);
	for(i=0;i<m;i++)
		for(j=0;j<n;j++)
			scanf("%d",&a[i][j]);
}
void solve()
{
	int i,j,ic,min=0,s=0,poz;
	for(ic=0;ic<r;ic++)
	{
		for(j=0;j<n;j++)
			min+=a[0][j];
		poz=0;
		for(i=1;i<m;i++)
		{
			s=0;
			for(j=0;j<n;j++)
				s+=a[i][j];
			if(s<min)
			{
				min=s;
				poz=i;
			}
		}
		for(j=0;j<n;j++)
			a[poz][j]=N;
	}
	min=s=0;
	for(ic=0;ic<c;ic++)
	{
		for(i=0;i<m;i++)
			min+=a[i][0];
		poz=0;
		for(j=1;j<n;j++)
		{
			s=0;
			for(i=0;i<m;i++)
				s+=a[i][j];
			if(s<min)
			{
				min=s;
				poz=j;
			}
		}
		for(i=0;i<m;i++)
			a[i][poz]=35000;
	}
}
void afis()
{
	int i,j,s=0;
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			if(a[i][j]!=35000)
				s+=a[i][j];
	printf("%d\n",s);
}
int main()
{
	freopen("elimin.in","r",stdin);
	freopen("elimin.out","w",stdout);
	read();
	solve();
	afis();
	return 0;
}