Pagini recente » Cod sursa (job #2987685) | Cod sursa (job #2884832) | Cod sursa (job #2843294) | Cod sursa (job #2610939) | Cod sursa (job #216558)
Cod sursa(job #216558)
#include <fstream>
long int a[16][16];
#define a (a-1)
long long int a2[16][16];
#define a2 (a2-1)
int m,n;
int st[16];
#define st (st-1)
long long int suma;
using namespace std;
int citire(){
int i,j;
ifstream fin ("flip.in");
fin>>n>>m;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
fin>>a[i][j];
}
int compara(){
int i,j,h;
int vert;
long long int sumasec;
sumasec=0;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
if (st[i]==1){a2[i][j]=a[i][j];}
else {a2[i][j]=a[i][j]*-1;}
for (j=1;j<=m;j++){
vert=0;
for (i=1;i<=n;i++){
vert +=a2[i][j];
}
if (vert<0){for (h=1;h<=n;h++){
a2[h][j]=a2[h][j]*-1;
}
}
}
for (i=1;i<=n;i++)
for (j=1;j<=m;j++){
sumasec += a2[i][j];
}
if (sumasec>suma){
suma=sumasec;}
}
int back(){
int k;
k=1;
while (k!=0){
st[k]++;
if (k==n){compara();}
if (st[k]<3){
if (k==n){ st[k]++;}
else k++;
}
else {
st[k]=0;
k--;
}
}
}
int scriere(){
ofstream fout("flip.out");
fout<<suma;
}
int main(){
citire();
back();
scriere();
}