Pagini recente » Cod sursa (job #2456845) | Cod sursa (job #1536540) | Cod sursa (job #33069) | Cod sursa (job #598318) | Cod sursa (job #1610944)
#include <fstream>
#include<algorithm>
using namespace std;
ifstream fin("elimin.in");
ofstream fout("elimin.out");
int n,m,r,c,aux,prec,col[8000],mx,a[21][400];
bool st[90];
void Check()
{int sum=0,i,j;
for(j=1;j<=m;j++)
col[j]=0;
for(i=1;i<=n;++i)
{if(st[i]==0){for(j=1;j<=m;j++)
{col[j]=col[j]+a[i][j];
}
}
}
sort(col+1,col+m+1);
for(i=c+1;i<=m;++i)
sum=sum+col[i];
if(mx<sum)mx=sum;
}
void Back(int top,int prec)
{int i;
if(top>r)Check();
else for(i=prec+1;i<=n;++i)
{st[i]=1;
Back(top+1,i);
st[i]=0;
}
}
int main()
{int i,j;
fin>>n>>m>>r>>c;
mx=-1000000000;
if(n>m)
{aux=n;
n=m;
m=aux;
aux=r;
r=c;
c=aux;
for(i=1;i<=m;++i)
{for(j=1;j<=n;++j)
fin>>a[j][i];
}
}
else {for(i=1;i<=n;++i)
{for(j=1;j<=n;++j)
fin>>a[i][j];
}
}
Back(1,0);
fout<<mx;
}