Pagini recente » Cod sursa (job #1312178) | Cod sursa (job #2651580) | Cod sursa (job #3271869) | Cod sursa (job #1203705) | Cod sursa (job #3219507)
#include <fstream>
using namespace std;
ifstream cin("elimin.in");
ofstream cout("elimin.out");
int n,m,L,C,x[7300],y[7300],a[7300][7300];
bool frl[7300],frc[7300];
long long Max;
long long sol(){
long long s=0;
for(int i=1;i<=n;i++)
if(!frl[i])
for(int j=1;j<=m;j++)
if(!frc[j])
s+=a[i][j];
return s;
}
void coloane(int k){
if(k==C+1){
long long s=sol();
if(s>Max)
Max=s;
}else{
for(int i=x[k-1]+1;i<=n;i++){
y[k]=i;
frc[i]=1;
coloane(k+1);
frc[i]=0;
}
}
}
void lini(int k){
if(k==L+1){
coloane(1);
}else{
for(int i=x[k-1]+1;i<=n;i++){
x[k]=i;
frl[i]=1;
lini(k+1);
frl[i]=0;
}
}
}
int main()
{
cin>>n>>m>>L>>C;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
lini(1);
cout<<Max;
return 0;
}