Pagini recente » Cod sursa (job #2320345) | Cod sursa (job #1132487) | Cod sursa (job #3130867) | Cod sursa (job #1530187) | Cod sursa (job #284071)
Cod sursa(job #284071)
#include <fstream>
long long a[16][16];
#define a (a-1)
long long a2[16][16];
#define a2 (a2-1)
long m,n;
long long st[16];
#define st (st-1)
long long 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];
return 0;
}
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;}
return 0;
}
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--;
}
}
return 0;
}
int scriere(){
ofstream fout("flip.out");
fout<<suma;
return 0;
}
int main(){
citire();
back();
scriere();
return 0;
}