Pagini recente » Cod sursa (job #2797979) | Cod sursa (job #1590889) | Cod sursa (job #1574288) | Diferente pentru implica-te/arhiva-educationala intre reviziile 55 si 56 | Cod sursa (job #531143)
Cod sursa(job #531143)
#include <stdio.h>
using namespace std;
int S[20];
int M[20][20];
int m,n,rez;
FILE *f,*g;
void citeste()
{
int i,j;
fscanf(f,"%d %d",&n,&m);
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
fscanf(f,"%d",&M[i][j]);
}
void rezolva()
{
int i,j,s,rs=0;
for (i=1;i<=n;i++)
{
s=0;
for (j=1;j<=m;j++)
if (S[j])
s-=M[i][j];
else
s+=M[i][j];
if (s<0)
rs-=s;
else
rs+=s;
}
if (rs>rez)
rez=rs;
}
void bt(int k)
{
if (k==m+1)
{
rezolva();
return;
}
S[k]=0;
bt(k+1);
S[k]=1;
bt(k+1);
}
int main()
{
f=fopen("flip.in","r");
g=fopen("flip.out","w");
citeste();
bt(1);
fprintf(g,"%d",rez);
fclose(f);
fclose(g);
return 0;
}