Pagini recente » Cod sursa (job #1618593) | Cod sursa (job #3250084) | Cod sursa (job #2301535) | Cod sursa (job #1346156) | Cod sursa (job #3121)
Cod sursa(job #3121)
#include <stdio.h>
#include <stdlib.h>
#define read fscanf
#define write fprintf
FILE *f;
long long k ,i, m, n,j,spoz, sneg,s,max;
long v[16][16],a[16][16];
int main(void){
f = fopen("flip.in","rt");
read(f, "%lld%lld", &n, &m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++){ read(f, "%ld", &a[i][j]); v[i][j] = a[i][j];}
max = 0;
// ========terminam citirea============
for(k=0;k<=70224;k++){
for(i=16;i>=2;i--)
if((k>>i-1)&1==1){
for(j=1;j<=n;j++)v[j][i]=v[j][i]*(-1);}
//================vector caracterisitc=============
for(i=1;i<=n;i++){
spoz = 0; sneg = 0;
for(j=1;j<=m;j++)
if(v[i][j]>0)spoz = spoz + v[i][j];else sneg = sneg + abs(v[i][j]);
if(sneg>spoz)
for(j=1;j<=m;j++)v[i][j] = v[i][j] * (-1);
}
s = 0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++){s = s+ v[i][j]; v[i][j] = a[i][j];}
if( s>max) max = s;
if(sneg==0){exit(0);}
}
fclose(f);
f = fopen("flip.out", "wt");
write(f, "%lld", max); fclose(f);
return 0;
}