Pagini recente » Cod sursa (job #2661290) | Cod sursa (job #2760387) | Cod sursa (job #2982647) | Cod sursa (job #208934) | Cod sursa (job #303919)
Cod sursa(job #303919)
#include <stdio.h>
int N,M,C[18][18],A[34],S,ST;
void citire()
{
FILE *F;
F=fopen("flip.in","r");
fscanf(F,"%d",&N);
fscanf(F,"%d",&M);
int i,j;
for(i=1;i<=N;i++)
for(j=1;j<=M;j++)
fscanf(F,"%d",&C[i][j]);
fclose(F);
}
void verificare()
{int i,j,max;max=0;
for(i=1;i<=N;i++)
{
if(A[i]==1) A[i]=-1;
if(A[i]==0) A[i]=1;
}
for(i=1;i<=N;i++)
{ S=0;
for(j=1;j<=M;j++)
S=S+A[i]*C[i][j];
if (S<0) S=S*-1;
max=max+S;
}
if(ST<max) ST=max;
}
void bkt(int k)
{int i;
if (k==N+1) verificare();
else
{
for(i=0;i<=1;i++)
{
A[k]=i;
bkt(k+1);
}
}
}
int main()
{
citire();
bkt(1);
FILE *G;
G=fopen("flip.out","w");
fprintf(G,"%d",ST);
fclose(G);
return 0;
}