Pagini recente » Cod sursa (job #2705368) | Cod sursa (job #1948953) | Cod sursa (job #2257256) | Cod sursa (job #689124) | Cod sursa (job #57517)
Cod sursa(job #57517)
#include<cstdio>
#include<math.h>
#define input "flip.in"
#define output "flip.out"
int v[66000];
void desc(int n,int vt[66000])
{
int j,i=0;
while(n)
{
vt[++i]=n%2;
n>>=1;
}
}
void add2()
{
int i=1;
while(v[i]==1) {v[i]=0; i++;}
v[i]++;
}
int main()
{
freopen(input,"rt",stdin);
freopen(output,"wt",stdout);
int a[20][20],mat[20][20];
int n,m,i,j,s,sum,max,k;
scanf("%d %d",&n,&m);
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
{scanf("%d",&a[i][j]); mat[i][j]=a[i][j];}
max=0;
for(k=int(pow(2,n))-1;k;--k)
{
add2();
for(i=1;i<=n;++i) printf("%d",v[i]);
printf("\n");
sum=0;
for(i=1;i<=n;++i)
{
a[i][0]=v[i];
if(a[i][0]==1) for(j=1;j<=m;++j) mat[i][j]=-a[i][j];
}
for(j=1;j<=m;++j)
{
s=0;
for(i=1;i<=n;++i)
s+=mat[i][j];
if(s>0) sum+=s;
else sum-=s;
}
if(sum>max) max=sum;
}
printf("%d",max);
return 0;
}