Pagini recente » Cod sursa (job #2639926) | Rezultatele filtrării | Cod sursa (job #568255) | Cod sursa (job #258393) | Cod sursa (job #2446160)
#include <cstdio>
#include <algorithm>
#include <climits>
using namespace std;
int n[2],ar[17][17],change[17][2],sum=INT_MIN;
void cit()
{
int i,j;
for(i=0;i<2;++i)
scanf("%d",&n[i]);
for(i=0;i<n[0];++i)
for(j=0;j<n[1];++j)
scanf("%d",&ar[i][j]);
}
void test()
{
int i,j,sol,semn;
for(sol=0,i=0;i<n[0];++i)
for(j=0;j<n[1];++j)
{
semn=change[i][0]+change[j][1];
if(semn&1)
sol-=ar[i][j];
else
sol+=ar[i][j];
}
sum=max(sum,sol);
}
void backt(int l,int p)
{
if(l==n[p])
if(p&1)
test();
else
backt(0,1);
else
{
int i;
for(i=l;i<n[p];++i)
{
change[i][p]=1;
backt(i+1,p);
change[i][p]=0;
}
}
}
int main()
{
freopen("filip.in","r",stdin);
freopen("filip.out","w",stdout);
cit();
backt(0,0);
printf("%d",sum);
return 0;
}