Pagini recente » Cod sursa (job #1146935) | Cod sursa (job #46644) | Cod sursa (job #2717358) | Cod sursa (job #2314215)
#include<fstream>
#include <algorithm>
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
long long maxim=0,m,n,r,c,a[1001][1001],v[1001],sc[1001];
int sum()
{
int i,j,s=0;
for(i=1;i<=m;i++)
sc[i]=0;
for(i=1;i<=n-r;i++)
for(j=1;j<=m;j++)
sc[j]+=a[v[i]][j];
sort(sc+1,sc+m+1);
for(i=m;i>c;i--)
s+=sc[i];
if(s>maxim)
maxim=s;
}
void back(int k)
{
int i;
for(i=v[k-1]+1;i<=n;i++)
{
v[k]=i;
if(k==n-r)
sum();
else
back(k+1);
}
}
int main()
{
int i,j;
f>>n>>m>>r>>c;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(n<m)
f>>a[i][j];
else
f>>a[j][i];
if(n > m){
swap(r, c);
swap(n, m);
}
back(1);
g<<maxim;
}