Pagini recente » Cod sursa (job #77894) | Cod sursa (job #2124098) | Cod sursa (job #2072150) | Cod sursa (job #1016799) | Cod sursa (job #284074)
Cod sursa(job #284074)
#include <fstream>
long long a[18][18];
#define a (a-1)
long long a2[18][18];
#define a2 (a2-1)
long long m,n;
long long st[20];
#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(){
long long i,j,h;
long long vert;
long long 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;
}