Pagini recente » Cod sursa (job #762536) | Cod sursa (job #2280533) | Cod sursa (job #597990) | Cod sursa (job #1215582) | Cod sursa (job #593408)
Cod sursa(job #593408)
#define _CRT_SECURE_NO_DEPRECATE
#define ms 16
#include <stdlib.h>
#include <stdio.h>
int static a[ms][ms],n,m,g[ms],s[ms],s1,s2;
void back(int k);
int main(int argc, char **argv, char **env)
{
FILE *fi = fopen("flip.in","r");
fscanf(fi,"%d%d",&n,&m);
if (m<n)
{
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
{
fscanf(fi,"%d",&a[j][i]);
}
n = m ^ n;
m = m ^ n;
n = m ^ n;
}
else
{
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
{
fscanf(fi,"%d",&a[i][j]);
}
}
fclose(fi);
s2=-((1<<30)-1);
back(0);
FILE *fo = fopen("flip.out","w");
fprintf(fo,"%d",s2);
fclose(fo);
//system("pause");
return 0;
}
void check();
void back(int k)
{
int i;
for (i=0;i<2;i++)
{
g[k]=i;
if (k == (n-1)) check();
else back(k+1);
}
}
void check()
{
//for (int i=0;i<n;i++) printf("%d ",g[i]); printf("\n");
for (int j=0; j<m; j++)
s[j]=0;
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
{
if (g[i])
{
s[j]-=a[i][j];
}
else
{
s[j]+=a[i][j];
}
}
s1=0;
for (int j=0; j<m; j++)
if (s[j]>0)
{
s1+=s[j];
}
else
{
s1-=s[j];
}
if (s1>s2) s2=s1;
}