Cod sursa(job #3219507)

Utilizator Dia3141Costea Diana Stefania Dia3141 Data 31 martie 2024 15:48:12
Problema Elimin Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#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;
}