Cod sursa(job #7076)

Utilizator mi5humihai draghici mi5hu Data 21 ianuarie 2007 12:20:09
Problema Elimin Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 1, Clasa a 10-a Marime 1.06 kb
#include<iostream.h>
#include<stdio.h>
#include<math.h>
#include<fstream.h>
int main()
{int v[100][100];
long s3,s4,k,s1,s2,e1,e2,s,m,n,r,c,i,j;
fstream f("elimin.in",ios::in),g("elimin.out",ios::out);
f>>m>>n>>r>>c;
for (i=1;i<=m;i++) for (j=1;j<=n;j++) f>>v[i][j];
while ((r!=0)&&(c!=0)) {s2=100000000;
			for (i=1;i<=m;i++) {for (j=1;j<=n;j++) {s1=0;s3=0;for (k=1;k<=m;k++)s1=s1+v[k][j];
							       for (k=1;k<=n;k++)s3=s3+v[i][k];
					   s4=s1+s3-v[i][j];
					   if (s2>s4) {s2=s4;e1=i;e2=j;}}
					   }
			for (j=1;j<=n;j++) v[e1][j]=0;
			for (i=1;i<=m;i++) v[i][e2]=0;
			r--;c--;}
while (c!=0) {s2=100000000;
	      for (j=1;j<=n;j++) {s1=0;
				  for (i=1;j<=m;j++) s1=s1+v[i][j];
				  if (s2>s1) {s2=s1;e2=j;}
				  }
	      for (j=1;j<=n;j++) v[e2][j]=0;c--;}
while (r!=0) {s2=100000000;
	      for (i=1;i<=m;i++) {s1=0;
				  for (j=1;j<=m;j++) s1=s1+v[i][j];
				  if (s2>s1) {s2=s1;e1=i;}
				  }
	      for (i=1;i<=m;i++) v[i][e1]=0;r--;}
	      s=0;
for (i=1;i<=n;i++) for (j=1;j<=m;j++) s=s+v[i][j];
g<<s;
f.close();
g.close();
}