Cod sursa(job #69430)

Utilizator Snavenportnespecificat Snavenport Data 2 iulie 2007 23:59:02
Problema Elimin Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <fstream.h>
#include <conio.h>
ifstream f("elimin.in");
ofstream g("elimin.out");
int main()
{
 int a[100][100],s,sl[100][2],sc[100][2],m,n,r,c,i,j;
 f>>m>>n>>r>>c;
 for (i=1;i<=m;i++)
  for (j=1;j<=n;j++)
   f>>a[i][j];
 for (i=1;i<=m;i++)
   {
   s=0;
   for (j=1;j<=n;j++)
     s=s+a[i][j];
   sc[i][0]=s;
   sc[i][1]=i;
   }
 int aux;
 for (i=1;i<=n-1;i++)
   for (j=i+1;j<=n;j++)
     if (sc[i][0]>sc[j][0])
       {
	aux=sc[i][0];
	sc[i][0]=sc[j][0];
	sc[j][0]=aux;
	aux=sc[i][1];
	sc[i][1]=sc[j][1];
	sc[j][1]=aux;
       }
  int cont;
  for (cont=1;cont<=c;cont++)
    {
    for (i=1;i<=m;i++)
      {
      for (j=sc[cont][1];j<=n;j++)
	a[i][j]=a[i][j+1];
      }
      n--;
      }

  for (i=1;i<=n;i++)
  {
   s=0;
   for (j=1;j<=m;j++)
     s=s+a[i][j];
   sl[i][0]=s;
   sl[i][1]=i;
  }
 for (i=1;i<=m-1;i++)
   for (j=i+1;j<=m;j++)
     if (sl[i][0]>sl[j][0])
       {
	aux=sl[i][0];
	sl[i][0]=sl[j][0];
	sl[j][0]=aux;
	aux=sl[i][1];
	sl[i][1]=sl[j][1];
	sl[j][1]=aux;
       }
  for (cont=1;cont<=r;cont++)
    {
    for (i=1;i<=n;i++)
      {
      for (j=sl[cont][1];j<=m;j++)
	a[j][i]=a[j+1][i];
      }
   m--;
   }

  s=0;
  for (i=1;i<=m;i++)
    for (j=1;j<=n;j++)
      s=s+a[i][j];
  g<<s;
  return 0;
}