Pagini recente » Cod sursa (job #1959162) | Cod sursa (job #2031371) | Cod sursa (job #136227) | Cod sursa (job #2408383) | Cod sursa (job #526310)
Cod sursa(job #526310)
#include<iostream>
using namespace std;
long int A[17][17];
int n;
int m;
int B[17];
long int mar = -32000;
void citire(void)
{
FILE *f = fopen("flip.in","r");
fscanf(f,"%d %d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
fscanf(f,"%d",&A[i][j]);
fclose(f);
}
long int calc(void)
{
long int S = 0;
for(int i=1;i<=m;i++)
{
long int s1 = 0;
long int s2 = 0;
for(int j=1;j<=n;j++)
s1 += B[j]*A[j][i];
for(int j=1;j<=n;j++)
s2 += B[j]*A[j][i]*-1;
(s1>s2) ? S += s1 : S += s2;
}
return S;
}
void calculare(int k)
{
if(k == n+1)
{
long int s = calc();
if(s > mar) mar = s;
}
else
{
B[k] = 1;
calculare(k+1);
B[k] = -1;
calculare(k+1);
}
}
int main()
{
FILE *f = fopen("flip.out","w");
citire();
calculare(1);
fprintf(f,"%ld",mar);
fclose(f);
return 0;
}