Pagini recente » Cod sursa (job #371027) | Cod sursa (job #661111) | Cod sursa (job #995062) | Cod sursa (job #3216797) | Cod sursa (job #88122)
Cod sursa(job #88122)
#include <iostream.h>
#include <fstream.h>
fstream IN("flip.in",ios::in),OUT("flip.out",ios::out);
int n,m,i,j; long max=-10000000;
float mat[17][17];
int Lalg()
{long sneg=0,spoz=0,s=0;
for(i=1;i<=n;i++) {spoz=0; sneg=0;
for(j=1;j<=m;j++) if(mat[i][j]>0) spoz+=mat[i][j];
else sneg+=mat[i][j];
if(sneg*-1>spoz) for(j=1;j<=m;j++) {mat[i][j]*=-1; s+=mat[i][j];}
else s+=spoz+sneg; }
if(s>max) max=s;
}
int back(col,var)
{//
if(col==m+1) Lalg();
else {var=0; while(var<2)
{back(col+1); for(i=1;i<=n;i++) mat[i][col]*=-1; var++; }}
} //
int main()
{IN>>n>>m; cout<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++) IN>>mat[i][j];
back(1); cout<<max;}