Pagini recente » Cod sursa (job #1088293) | Cod sursa (job #3155217) | Cod sursa (job #3217399) | Cod sursa (job #340148) | Cod sursa (job #770022)
Cod sursa(job #770022)
#include<fstream>
using namespace std;
int n,m, a[20], v[20];
long mat[20][20];
long long maxim,sum,sumcol;
int nr;
ifstream f("flip.in");
ofstream g("flip.out");
void transforma()
{ sum=0;
for(int j=1; j<=m; j++)
{sumcol=0;
for(int s=1; s<=n; s++)
{if(v[s]==1)
sumcol+=mat[s][j]*(-1);
else
sumcol+=mat[s][j]; }
if(sumcol<0)
sumcol*=(-1);
sum+=sumcol;
}
if(maxim<sum)
maxim=sum;
}
void bkt (int x)
{
for(int i=a[x-1]+1; i<=n; i++)
if(!v[i])
{a[x]=i;
v[i]=1;
bkt(x+1);
v[i]=0;
a[x]=0;
}
/* nr++;
g<<nr<<" ";
for(int s=1; s<=n; s++)
g<<v[s]<<" ";
g<<endl; */
transforma();
}
int main()
{
f>>n>>m;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
f>>mat[i][j];
bkt(1);
g<<maxim;
return 0;}