Pagini recente » Cod sursa (job #78379) | Cod sursa (job #405534) | Cod sursa (job #1536215) | Cod sursa (job #1430652) | Cod sursa (job #705133)
Cod sursa(job #705133)
#include <stdio.h>
#define max(a,b) a>b ? a : b
int n,m,A[17][17],B[17];
int suma(){
int sum=0,sum_aux;
for (int i=1;i<=n;++i){
sum_aux=0;
for (int j=1;j<=m;++j){
if (B[j])
sum_aux+=A[i][j];
else
sum_aux-=A[i][j];
}
if (sum_aux>0)
sum+=sum_aux;
else
sum-=sum_aux;
}
return sum;
}
void rezolva (int sol){
for (int k=1;k<=(1<<m);++k){
int rest=k;
for (int i=1;i<=m;++i){
B[i]=rest%2;
rest/=2;
}
if (sol<suma())
sol=suma();
}
printf("%d", sol);
}
int main()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d %d", &n, &m);
int sol=0;
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++){
scanf("%d", &A[i][j]);
sol+=A[i][j];
}
rezolva(sol);
return 0;
}