Pagini recente » Cod sursa (job #1499799) | Cod sursa (job #2060393) | Clasament simulare.oji.2024.bv_11_12 | Cod sursa (job #2907952) | Cod sursa (job #2398607)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int a[16][526],n,m,r,c,sol,v[526];
bool viz[526];
void schimb(int &lin,int &col)
{
int aux=lin;
lin=col;
col=aux;
}
void citire()
{
ifstream fin("elimin.in");
fin>>n>>m>>r>>c;
if(n>m)
{
schimb(n,m);
schimb(r,c);
for(int j=0;j<m;j++)
for(int i=0;i<n;i++)
fin>>a[i][j];
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
fin>>a[i][j];
}
int f1()
{
int ceva=0;
for(int i=0;i<m;i++)
v[i]=0;
for(int i=0;i<n;i++)
if(!viz[i])
for(int j=0;j<m;j++)
v[j]+=a[i][j];
sort(v,v+m);
for(int i=c;i<m;i++)
ceva+=v[i];
return ceva;
}
void backk(int lin,int col)
{
if(lin==r)
{
int ceva=f1();
sol=(sol>ceva)*(sol-ceva)+ceva;
return;
}
for(int i=col;i<n;i++)
{
viz[i]=true;
backk(lin+1,i+1);
viz[i]=false;
}
}
int main()
{
citire();
backk(0,0);
ofstream fout("elimin.out");
fout<<sol;
return 0;
}