Pagini recente » Cod sursa (job #21127) | Cod sursa (job #2739259) | Cod sursa (job #1440215) | Cod sursa (job #1443382) | Cod sursa (job #395982)
Cod sursa(job #395982)
#include<iostream>
#include<fstream>
#include<stdio.h>
using namespace std;
long a[20][20],maxim=0,n,m,stack[20];
void verifica()
{long long sumalinie,sumatotala=0,i,j;
for(i=1;i<=m;i++)
{sumalinie=0;
for(j=1;j<=n;j++)
sumalinie+=stack[j]*a[j][i];
if(sumalinie<0)
sumalinie=-sumalinie;
sumatotala+=sumalinie;
}
if(sumatotala>maxim)
maxim=sumatotala;
}
void back(int sgnlinie)
{if(sgnlinie>n)
verifica();
else
{
stack[sgnlinie]=1;
back(sgnlinie+1);
stack[sgnlinie]=-1;
back(sgnlinie+1);
}
}
int main()
{long long i,j;
ifstream fin("flip.in");
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fin>>a[i][j];
fin.close();
back(1);
ofstream fout("flip.out");
fout<<maxim<<"\n";
fout.close();
return 0;
}