Pagini recente » Cod sursa (job #2333535) | Cod sursa (job #2735375) | Cod sursa (job #785485) | Cod sursa (job #1972146) | Cod sursa (job #208836)
Cod sursa(job #208836)
#include <stdio.h>
#include <values.h>
//using namespace std;
FILE *f,*g;
long a[17][17];
long smax=0-MAXLONG,tsum;
unsigned long v;
unsigned long i,j;
int n,m,t;
long calculeaza_suma(unsigned long k)
{
int i,j;
long tsum=0;
for(i=0;i<n;i++)
for(j=n;j<t;j++)
if(((k>>i)&1)!=((k>>j)&1))
tsum+=a[i+1][j-n+1] * -1;
else
tsum+=a[i+1][j-n+1];
return tsum;
}
int main()
{
f=fopen("flip.in","r");
g=fopen("flip.out","w");
fscanf(f,"%d %d\n",&n,&m);
//citire
for(i = 1; i <= n;i++)
for(j = 1;j <= m;j++)
fscanf(f,"%ld",&a[i][j]);
t=m+n;
v=((unsigned long)1<<t+1)-1;
// temp==((unsigned long)1<<32)-1;
for(i=0;(i<=v);i++)
{
tsum=calculeaza_suma(i);
if(tsum>smax)
smax=tsum;
}
fprintf(g,"%ld\n",smax);
fclose(f); fclose(g);
return 0;
}