Pagini recente » Cod sursa (job #392322) | Cod sursa (job #1937465) | Cod sursa (job #77584) | Cod sursa (job #1111853) | Cod sursa (job #1363361)
#include <iostream>
#include <stdio.h>
using namespace std;
long a[17][17];
int cx[17],cy[17];
int x,y;
long Smax,Sinit;
void Afisare_Gen(int v[], int lim){
for(int i=0; i<lim; i++){
printf("%d",v[i]);
}
printf("\n");
}
void Sum_Max(){
int i,j,S=Sinit;
for(i=0;i<x;i++){
for(j=0;j<y;j++){
if(cx[i]!=cy[j] ){
S-=2*a[i][j];
}
}
}
if(S>Smax)
Smax=S;
}
void Gen(int xsauy, int contor){
switch (xsauy) {
case 1 : {
if(contor >= x){
Gen(2,0);
}
else {
cx[contor]=0;
Gen(1,contor+1);
cx[contor]=1;
Gen(1,contor+1);
}
break;
}
case 2 : {
if(contor >= y){
Sum_Max();
}
else {
cy[contor]=0;
Gen(2,contor+1);
cy[contor]=1;
Gen(2,contor+1);
}
break;
}
}
}
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(1,0);
// cout<<Smax;
fprintf(g,"%d",Smax);
fclose(f);
fclose(g);
return 0;
}