Pagini recente » Cod sursa (job #2221575) | Cod sursa (job #2252948) | Cod sursa (job #613250) | Cod sursa (job #1791213) | Cod sursa (job #1363412)
#include <iostream>
#include <stdio.h>
using namespace std;
long a[17][17];
int cx[17];
int x,y;
long Smax=-99999999,Sinit;
void Afisare_Gen(){
for(int i=0; i<x; i++){
printf("%d",cx[i]);
}
printf("\n");
}
void Sum_Max(){
int i,j,Slin=0,Stot=0;
for(i=0;i<y;i++){
Slin=0;
for(j=0;j<x;j++){
if(cx[j]==1){
Slin-=a[i][j];
}
else {
Slin+=a[i][j];
}
}
if(Slin<0){
Slin=-Slin;
//printf("\nlin %d \n",i);
}
Stot+=Slin;
}
if(Stot>Smax){
Smax=Stot;
//Afisare_Gen();
}
}
void Gen(int contor){
if(contor >= x){
Sum_Max();
//Afisare_Gen();
}
else {
cx[contor]=0;
Gen(contor+1);
cx[contor]=1;
Gen(contor+1);
}
}
int main()
{
FILE *f=fopen("flip.in","r");
FILE *g=fopen("flip.out","w");
fscanf(f,"%d%d",&y,&x);
for(int i=0; i<y; i++){
for(int j=0; j<x; j++){
fscanf(f,"%d",&a[i][j]);
Sinit+=a[i][j];
}
}
Gen(0);
cout<<Smax;
fprintf(g,"%d",Smax);
fclose(f);
fclose(g);
return 0;
}