Pagini recente » Cod sursa (job #2404249) | Cod sursa (job #946130) | Cod sursa (job #1366618) | Cod sursa (job #946129) | Cod sursa (job #992419)
Cod sursa(job #992419)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
int n,m,r,c,a[550][550],v[550],s[20],sm,sum;
void gen(int k, int t)
{
if(k==r+1)
{
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
v[j]+=a[i][j]*s[i];
sort(v+1,v+m+1);
for(int i=m;i>c;--i) sum+=v[i];
if(sum>sm) sm=sum;
sum=0;
fill(v+1,v+m+1,0);
return;
}
int i;
for(i=t+1;i<=n-r+k;++i)
{
s[i]=0;
gen(k+1,i);
s[i]=1;
}
}
int main()
{
f>>n>>m>>r>>c;
if(n<=m) for(int i=1; i<=n; ++i)
{
for(int j=1; j<=m; ++j)
f>>a[i][j];
s[i]=1;
}
else
{
for(int i=1; i<=n; ++i)
{
for(int j=1; j<=m; ++j)
f>>a[j][i];
}
swap(n,m);
swap(r,c);
}
gen(1,0);
g<<sm;
return 0;
}