Pagini recente » Cod sursa (job #2267308) | Cod sursa (job #811680) | Cod sursa (job #107341) | Cod sursa (job #2287640) | Cod sursa (job #413687)
Cod sursa(job #413687)
#include<iostream.h>
#include<fstream.h>
#include<limits.h>
#define IN ifstream f("flip.in");
#define OUT ofstream g("flip.out");
#define INC f.close();
#define OUTC g.close();
int xx,yy,map[16][16];
int max=INT_MIN;
int flip[32];
int suma(){
int sum=0,_sum=0;
for(int y=0;y<yy;y++)
for(int x=0;x<xx;x++)
sum+=map[x][y]*flip[x]*flip[xx+y];
if(sum>max)max=sum;
if(_sum>max)max=_sum;
return sum;}
void rezolva(int i){
if(i==xx*yy)suma();
else{
flip[i]=-1;
rezolva(i+1);
flip[i]=1;
rezolva(i+1);}}
void citeste(){
IN f>>yy>>xx;
for(int y=0;y<yy;y++)
for(int x=0;x<xx;x++)
f>>map[x][y];INC}
int main(){
citeste();
rezolva(0);
OUT g<<max;OUTC
return 0;}