Pagini recente » Cod sursa (job #1161355) | Cod sursa (job #1952803) | Cod sursa (job #2808324) | Cod sursa (job #619599) | Cod sursa (job #456881)
Cod sursa(job #456881)
#include<stdlib.h>
#include<stdio.h>
long f[16][16],max=-1000000;
int n,m,sum=0,a[32];
void back(int a[16],int k){
int i,j;
if(k==n+m)
{
sum=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(a[i]==a[n+j])
sum=sum+f[i][j];
else
sum=sum-f[i][j];
if(sum>max)
max=sum;
else
if(-sum>max)
max=-sum;
}
else
for(i=0;i<2;i++)
{
a[k]=i;
back(a,k+1);
}
}
int main(){
int i,j;
FILE *fin=fopen("flip.in","r");
FILE *fout=fopen("flip.out","w");
fscanf(fin,"%d %d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
fscanf(fin,"%ld",&f[i][j]);
a[0]=0;
back(a,1);
fprintf(fout,"%ld",max);
fclose(fin);
fclose(fout);
return 0;
}