Pagini recente » Cod sursa (job #2870189) | Cod sursa (job #985575) | Cod sursa (job #1221466) | Cod sursa (job #2143667) | Cod sursa (job #208739)
Cod sursa(job #208739)
#include <stdio.h>
#include <values.h>
//using namespace std;
FILE *f,*g;
long a[17][17];
long v[33],smax=0-MAXLONG,tsum;
int i,j,n,m,t;
long calculeaza_suma()
{
int i,j;
long tsum=0;
for(i=1;i<=n;i++)
for(j=n+1;j<=t;j++)
if(v[i]!=v[j])
tsum+=a[i][j-n] * -1;
else
tsum+=a[i][j-n];
return tsum;
}
void genereaza()
{
int i,j;
i=t;
while(v[i]==1)i--;
v[i]++;
for(j=i+1;j<=t;j++)v[j]=0;
}
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]);
for(i=0;i<=n+m;i++)
v[i]=0;
t=m+n;
while(v[0]!=1)
{
tsum=calculeaza_suma();
if(tsum>smax)
smax=tsum;
genereaza();
}
fprintf(g,"%ld\n",smax);
fclose(f); fclose(g);
return 0;
}